1.0.5 • Published 9 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-backend
- Install dependencies: - npm install
Configuration
- Create a - .envfile based on the- .env.example:- cp .env.example .env
- Update 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.