URL shortener application, utilizing MongoDB for the database, Go for the backend, and HTML/CSS/JavaScript for the frontend. The CI/CD pipeline is managed with Jenkins, and security analysis is conducted using Trivy, Sonarqube. The application is built and pushed to AWS ECR and deployed on EKS using Helm charts.
MIT License
A modern URL Shortener application built using Go, with a clean architecture and MongoDB integration. This project demonstrates the implementation of a three-tier architecture using Docker for containerization. The CI/CD pipeline is managed with Jenkins, and security analysis is conducted using Trivy. The application is built and pushed to AWS ECR (Elastic Container Registry) and deployed on an AWS EKS (Elastic Kubernetes Service) cluster.
Checkout URL_Shortener (https://url-shortener-with-go-l2go.vercel.app/)
The URL Shortener With Go is a web application designed to shorten long URLs into concise links. The application is structured using a three-tier architecture, leveraging Go for the backend, MongoDB for data storage, and a static frontend for user interaction.
This project is an ideal demonstration for those looking to understand how to create scalable web applications with Go and MongoDB while employing containerization for deployment.
The project follows a three-tier architecture:
Presentation Layer (Frontend):
Application Layer (Backend):
Data Layer (Database):
+-------------------+
| Presentation |
| (Frontend) |
+-------------------+
|
|
+-------------------+
| Application |
| (Backend/Go) |
+-------------------+
|
|
+-------------------+
| Data |
| (MongoDB) |
+-------------------+
git clone https://github.com/ARUP-G/URL-Shortener-With-GO.git
cd URL-Shortener-With-GO
Start MongoDB:
Ensure MongoDB is running on your machine. You can start it with:
mongod --config /usr/local/etc/mongod.conf --fork
Install Dependencies:
Navigate to the backend folder and install dependencies:
cd backend
go mod tidy
Run the Application:
go run main.go
Open the Frontend:
Open the index.html
file in your browser to start using the application.
Build and Start Containers:
docker-compose up --build
Access the Application:
Visit http://localhost:8181
in your browser.
Method | Endpoint | Description |
---|---|---|
POST | /api/v1/shorten |
Shortens a provided URL |
GET | /api/v1/{shortURL} |
Redirects to the original URL |
The project includes a GitHub Actions workflow to automate testing and ensure code quality.
Contributions are welcome! Please read the CONTRIBUTING.md file for guidelines on how to contribute to this project.
git checkout -b feature/YourFeature
).git commit -m 'Add your feature'
).git push origin feature/YourFeature
).This project is licensed under the MIT License - see the LICENSE file for details.
For any inquiries or feedback, feel free to reach out:
Feel free to customize the sections and content according to your project's specific details and requirements. If you have any additional features or specific instructions, you can add them to the appropriate sections.