Bitly Clone is a URL shortening service that allows users to convert long URLs into shorter, more manageable links. This project comprises a Spring Boot backend, a React frontend (using Vite), and utilizes Docker for containerization. The backend is deployed on Render, the database is hosted on Neon, and the frontend is deployed on Netlify.
Watch the demo video to see this project in action: Demo Video
You can access this link to create your own short URLs: Live Link
- URL Shortening: Convert long URLs into short links for easy sharing.
- Redirection: Short links redirect users to the original long URLs.
- Analytics: Track the number of times a short link has been accessed.
The application follows a microservices architecture:
- Backend: Developed using Spring Boot, providing RESTful APIs for URL shortening and redirection.
- Frontend: Built with React (Vite), offering a user-friendly interface for interacting with the service.
- Database: Hosted on Neon, storing mappings between short links and original URLs.
- Containerization: Docker is used to containerize the backend application for consistent deployment.
- Deployment:
- Backend: Deployed on Render.
- Frontend: Deployed on Netlify.
- Docker: Ensure Docker is installed to build and run the backend container.
- Node.js & npm: Required for running the React (Vite) frontend locally.
-
Clone the Repository:
git clone https://github.com/robin-rodrigues/bitly_clone.git cd bitly_clone/backend -
Build the Docker Image:
docker build -t bitly_clone_backend . -
Run the Docker Container:
docker run -p 8080:8080 bitly_clone_backend
The backend API will be accessible at
http://localhost:8080.
-
Navigate to the Frontend Directory:
cd ../frontend -
Install Dependencies:
npm install
-
Start the Development Server:
npm run dev
The frontend application will be accessible at
http://localhost:5173.
The backend is containerized using Docker and deployed on Render. The Docker image is available on Docker Hub:
To deploy the backend:
-
Pull the Docker Image:
docker pull rodrob/bitly_clone_backend:latest
-
Run the Docker Container:
docker run -p 8080:8080 rodrob/bitly_clone_backend:latest
The frontend is deployed on Netlify and can be accessed at:
The application uses a PostgreSQL database hosted on Neon. Ensure that the database connection details are correctly configured in the backend application properties.
Contributions are welcome! Please fork the repository and create a pull request with your changes.