A modern URL shortening service with analytics tracking.
ShortLink allows you to create short, memorable links for long URLs. Track clicks, analyze traffic by device type, and manage all your shortened links from a simple dashboard.
- ✂️ URL Shortening - Create short links with optional custom codes
- 📊 Analytics - Track clicks with device-type breakdown (desktop, mobile, tablet)
- 🎯 Dashboard - Manage all your links in one place
- 💾 Persistent Links - All links stored in MySQL database
- 🏥 Health Monitoring - Real-time system health dashboard
- 🎨 Modern UI - Built with Next.js 14 and Tailwind CSS
- Next.js 14 (App Router)
- React 18
- TypeScript
- Tailwind CSS
- Node.js with Express.js
- MySQL Database
- Cookie-based user tracking
- RESTful API
ShortLink/
├── client/ # Next.js frontend application
├── server/ # Express.js backend API
└── .github/ # CI/CD workflows
- Node.js 22.x
- MySQL database
- Clone the repository
git clone https://github.com/KUNJ1311/ShortLink.git
cd ShortLink- Setup Backend
cd server
npm install
# Configure .env file (see server/README.md)
npm run dev- Setup Frontend
cd client
npm install
# Configure .env.local file (see client/README.md)
npm run dev- Access the application
- Frontend: http://localhost:3000
- Backend API: http://localhost:3001
The project includes automated CI/CD workflows for Azure deployment:
- Frontend deploys to Azure Web App
- Backend deploys to Azure Container Apps
MIT