A URL shortening service with analytics dashboard. Create short, memorable links that redirect to your long URLs. Track clicks and analyze performance with detailed analytics.
- URL Shortening: Transform long links into short, memorable URLs
- Click Analytics: Track clicks, referrers, user agents, and more
- User Dashboard: Manage all your shortened URLs in one place
- Secure Authentication: User registration and login with JWT
- FastAPI
- SQLAlchemy
- JWT Authentication
- SQLite (can be configured for PostgreSQL, MySQL)
- React
- TypeScript
- Tailwind CSS
- React Query
- Recharts for data visualization
- Python 3.7+
- Node.js 14+
- pnpm
-
Navigate to the backend directory:
cd backend
-
Create a virtual environment and activate it:
python -m venv venv source venv/bin/activate # On Windows, use: venv\Scripts\activate
-
Install the requirements:
pip install -r requirements.txt
-
Create a
.env
file based on.env.example
:cp .env.example .env
-
Run the migrations:
alembic upgrade head
-
Start the backend server:
python main.py
The backend will be available at http://localhost:8000
-
Navigate to the frontend directory:
cd frontend
-
Install dependencies:
pnpm install
-
Start the development server:
pnpm dev
The frontend will be available at http://localhost:5173
Once the backend is running, you can access the API documentation at:
- Swagger UI: http://localhost:8000/docs
- ReDoc: http://localhost:8000/redoc
This project is licensed under the MIT License - see the LICENSE file for details.