1.0.5 • Published 11 months ago
@khabzox/4links-backend v1.0.5
4Links Backend
4Links is a URL shortening service that allows users to create, manage, and track shortened URLs.
Table of Contents
Getting Started
Prerequisites
- Node.js
- Express
- MongoDB
- Clerk
Installation
Clone the repository:
git clone https://github.com/yourusername/4links-backend.git cd 4links-backendInstall dependencies:
npm install
Configuration
Create a
.envfile based on the.env.example:cp .env.example .envUpdate the
.envfile with your MongoDB URI and other configuration settings.# MongoDB connection URI MONGODB_URI=your_mongodb_uri # Server port PORT=5000 # Clerk API keys for authentication and authorization CLERK_PUBLISHABLE_KEY=your_clerk_publishable_key CLERK_SECRET_KEY=your_clerk_secret_key
Running the Server
Start the server:
npm start
The server will be running on http://localhost:5000.
API Documentation
Create a Shortened URL
- Endpoint:
POST /api/shorten - Description: Creates a shortened URL.
- Request Body:
{ "originalUrl": "https://example.com" } - Response:
{ "shortUrl": "abc123" }
Get All URLs
- Endpoint:
GET /api/all - Description: Retrieves all URLs.
- Response:
[ { "originalUrl": "https://example.com", "shortUrl": "abc123" }, ... ]
Get a Shortened URL
- Endpoint:
GET /api/get-short-url - Description: Retrieves a shortened URL for a given original URL.
- Request Query:
{ "originalUrl": "https://example.com" } - Response:
{ "shortUrl": "abc123" }
Read a URL
- Endpoint:
GET /api/:shortUrl - Description: Retrieves the original URL for a given shortened URL.
- Response:
{ "originalUrl": "https://example.com", "shortUrl": "abc123" }
Update a URL
- Endpoint:
PUT /api/:shortUrl - Description: Updates the original URL for a given shortened URL.
- Request Body:
{ "originalUrl": "https://newexample.com" } - Response:
{ "originalUrl": "https://newexample.com", "shortUrl": "abc123" }
Delete a URL
- Endpoint:
DELETE /api/:shortUrl - Description: Deletes a shortened URL.
- Response:
{ "message": "URL deleted" }
Redirect to the Original URL
- Endpoint:
GET /api/r/:shortUrl - Description: Redirects to the original URL associated with the shortened URL.
Example Usage
To use the 4Links backend package in your project, follow these steps:
Install the package:
npm install @khabzox/4links-backendImport and use the functions in your project:
import express from "express";
import {
connectDB,
setupMiddleware,
createUrl,
readUrl,
updateUrl,
deleteUrl,
getAllUrls,
getShortenedUrl,
redirectUrl,
} from "@khabzox/4links-backend";
const app = express();
// Connect to MongoDB
connectDB();
// Setup middleware
setupMiddleware(app);
// Define routes
app.post("/shorten", createUrl);
app.get("/all", getAllUrls);
app.get("/get-short-url", getShortenedUrl);
app.get("/:shortUrl", readUrl);
app.put("/:shortUrl", updateUrl);
app.delete("/:shortUrl", deleteUrl);
app.get("/r/:shortUrl", redirectUrl);
const PORT = process.env.PORT || 5000;
app.listen(PORT, () => {
console.log(`Server running on port ${PORT}`);
});License
- This project is licensed under the MIT License.