Skip to content

mohdjami/url-manager

Repository files navigation

URL Manager

Deploy with Vercel License: MIT Made with Next.js Powered by Supabase

A powerful URL management system built with modern technologies, offering advanced features beyond traditional URL shortening services. This project combines robust architecture with high performance to deliver a seamless URL management experience.

✨ Features

Core Functionality

  • URL Shortening: Transform long URLs into concise, shareable links
  • Smart Redirection: Lightning-fast redirection to original URLs
  • User Management: Secure authentication and personalized URL management
  • Analytics Dashboard: Track and analyze URL performance metrics
  • Enterprise-Grade Security: Industry-standard security practices

Technical Highlights

  • High Performance
    • Redis caching for frequently accessed URLs
    • Kafka message queue for asynchronous operations
    • Optimized database queries with Prisma
  • Robust Architecture
    • Server-side rendering with Next.js
    • Real-time analytics processing
    • Rate limiting and request throttling
  • Modern Stack
    • Next.js for frontend and API routes
    • Prisma ORM for database operations
    • Supabase for backend infrastructure
    • NextAuth for authentication
    • Tailwind CSS for styling

🚀 Getting Started

Quick Demo

Try out the application instantly using these credentials:

Email: [email protected]
Password: 12341234

Installation

  1. Clone the repository
git clone https://github.com/mohdjami/url-manager.git
cd url-manager
  1. Install dependencies
npm install
  1. Set up environment variables
cp .env.example .env.local
  1. Start the development server
npm run dev

🛠 Architecture

graph TD
    A[Client] --> B[Next.js Frontend]
    B --> C[API Routes]
    C --> D[Redis Cache]
    C --> E[Prisma ORM]
    E --> F[Supabase Database]
    C --> G[Kafka Queue]
    G --> H[Email Service]
Loading

📈 Performance

  • Response Time: <100ms for cached URLs
  • Availability: 99.9% uptime
  • Scalability: Handles millions of requests/day

🔒 Security Features

  • JWT-based authentication
  • Rate limiting
  • SQL injection protection
  • XSS prevention
  • CSRF protection
  • Input sanitization

📊 Analytics

Track important metrics for your URLs:

  • Click-through rates
  • Geographic distribution
  • Device statistics
  • Time-based analytics
  • Referrer tracking

🔄 API Documentation

Base URL

https://mjkm.vercel.app/api

Endpoints

Method Endpoint Description
POST /api/v2/urls/create-url Create short URL
GET up/:slug Redirect to original URL
GET /stats/:code Get URL statistics
DELETE /url/:id Delete URL

🛣 Roadmap

  • Custom domain support
  • Advanced analytics dashboard
  • API rate limiting dashboard
  • Team collaboration features
  • Bulk URL management
  • Enhanced security features

🤝 Contributing

We welcome contributions! Please see our Contributing Guidelines for details.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

🙏 Acknowledgments

📧 Contact

Jami Khan - @mohdjami786

Project Link: https://github.com/mohdjami/url-manager


Made with ❤️ by Mohd Jami

Releases

No releases published

Packages

No packages published