A simple and scalable URL Shortener API built with Golang and deployed using Docker and Kubernetes. This project showcases modern cloud-native development practices and includes automated CI/CD pipelines using GitHub Actions.
- Golang - The core programming language for the API.
- Redis - In-memory data store for caching.
- Docker - Containerization for easy deployment.
- Kubernetes - Container orchestration for scaling and management.
- GitHub Actions - CI/CD for automated Docker builds, pushes, and deployments.
- Minikube - Local Kubernetes for testing deployments.
- Shorten long URLs into easily shareable, custom URLs.
- Custom alias for shortened URLs.
- Support for redirection to original URLs.
- Cache for frequently accessed URLs using Redis.
- Scalable with Kubernetes for easy deployment.
- Docker: For containerization.
- Kubernetes (Minikube): For local Kubernetes setup.
- Helm: For Kubernetes deployments.
- Redis: Running locally or in your Kubernetes cluster.
To run the project locally using Docker Compose, follow these steps:
-
Clone this repository:
git clone https://github.com/vladumanskyi/url-shortener-api.git cd url-shortener-api
-
Build and run the containers:
docker-compose up --build
-
For kubernetes details you can find it here