CutLink is a lightweight and efficient URL shortener application built using Go, Redis, and Docker. This project aims to provide a simple and scalable solution for creating and managing shortened URLs.
- Fast and Scalable: Powered by Go and Redis for optimal performance
- Containerized Setup: Easily deployable using Docker and Docker Compose
- Custom Slugs: Generate and use custom or random slugs for shortened URLs
- RESTful API: Clear and consistent APIs for URL shortening, retrieval, and analytics
- Cloud-Ready: Designed for deployment on AWS or other cloud platforms
- Backend: Go
- Database: Redis (key-value store)
- Containerization: Docker & Docker Compose
Ensure the following tools are installed:
git clone https://github.com/andresilvase/cutlink.git
cd cutlink
- Build and start the services:
make up
- Access the application at
http://localhost:8080
.
-
POST /cut
Creates a shortened URL
Request Body:{ "url": "https://example.com/something-here?maybe=here-too" }
Response:
{ "data": { "shortened_url": "https://example.com/{slug}" } }
-
GET /{slug}
Redirects to the original URL
The production deployment was made in AWS EC2.