The URL Shortener project provides a user-friendly platform for shortening long URLs. Built with React on the frontend and Spring Boot on the backend, this application offers an intuitive experience for users to easily generate and manage short links.
This project focuses on providing secure access to its resources through JWT authentication and OAuth2, ensuring the protection of user data and privacy. The application has been deployed on Amazon Web Services (AWS) for scalability and high availability, utilizing Docker for containerization.
- 🔗 URL Shortening – Shorten long URLs into easily shareable links.
- 🗂 URL Management – Track and manage your shortened URLs.
- 🔒 Secure Authentication – Uses JWT and OAuth2 for secure login and access control.
- 🌐 Responsive UI – Built with React, offering a smooth and user-friendly experience.
- 📊 Dashboard – Users can view and manage their shortened URLs from an intuitive dashboard.
- 🚀 Scalable Deployment – Deployed on AWS with Docker containers for efficient management and scaling.
- 🔐 Role-based Access Control – Ensures secure access to the system based on user roles.
| Technology | Purpose |
|---|---|
| 🖥 React | Frontend framework for building the user interface |
| 🌱 Spring Boot | Backend framework for handling API requests and business logic |
| 🔑 JWT | Authentication mechanism for secure access to resources |
| 🔐 OAuth2 | Authorization protocol for enhanced security |
| 🛡 Spring Security | Framework to enforce security measures and protect endpoints |
| 🗄 AWS | Cloud platform for deploying and hosting the application |
| 🐳 Docker | Containerization for scalable and flexible deployment |
| 🗃 MySQL/PostgreSQL | Database to store shortened URLs and user data |
Ensure you have the following installed:
- Node.js (for React frontend)
- Java 8 or later (for Spring Boot backend)
- Maven (for managing Spring Boot dependencies)
- Docker (for containerization)
- AWS account (for deploying the application)
- MySQL/PostgreSQL (for database setup)
git clone https://github.com/princedmello/url-shortener.git
cd url-shortener