A full-stack web application for shortening URLs with user authentication, dashboard, and analytics. Users can create short links, track clicks, and manage their URLs. Authenticated users can create custom short URLs and view their personal dashboard.
- Shorten long URLs instantly (with or without login)
- User registration and login (JWT-based authentication)
- Dashboard to view, copy, and track your shortened URLs
- Click analytics for each short URL
- Custom short URLs for authenticated users
- Responsive, modern UI with Tailwind CSS
- React: UI library for building interactive interfaces
- Redux: State management for authentication and user data
- @tanstack/react-query: Data fetching and caching
- Tailwind CSS: Utility-first CSS framework for styling
- Axios: HTTP client for API requests
- Node.js: JavaScript runtime
- Express: Web framework for building REST APIs
- MongoDB: NoSQL database for storing users and URLs
- Mongoose: ODM for MongoDB
- JWT (jsonwebtoken): Secure authentication
- bcrypt/bcryptjs: Password hashing
- Node.js (v16+ recommended)
- MongoDB instance (local or cloud)
cd backend
npm install
npm run devcd frontend
npm install
npm run dev- Backend: Create a
.envfile inbackend/with:MONGO_URI=your_mongodb_connection_stringJWT_SECRET=your_jwt_secretAPP_URL=http://localhost:5000(or your backend URL)
- Frontend: Update
VITE_API_URLinfrontend/.envif needed.
Enjoy your own URL Shortener! Contributions welcome.

