A full-stack URL shortening application built with Node.js, Express.js, MongoDB, EJS, and Tailwind CSS. The application enables authenticated users to create, manage, and analyze shortened URLs with secure authentication and role-based access.
- Secure user authentication (JWT)
- Password hashing with bcrypt
- Role-based access control (Admin/User)
- Generate unique short URLs using NanoID
- Redirect to original URLs
- Visit count and timestamp tracking
- User-specific dashboard
- Admin dashboard to view all URLs
- One-click copy-to-clipboard
- MVC architecture
- Backend: Node.js, Express.js
- Database: MongoDB, Mongoose
- Frontend: EJS, Tailwind CSS
- Authentication: JWT, bcrypt, cookie-parser