A fast, free, and easy-to-use URL shortener with built-in analytics for tracking clicks by country and month.

- 🚀 Fast & Scalable – Built with Go for lightning-fast URL redirection and high traffic handling.
- 🎨 Simple & Intuitive – Easy-to-use interface for shortening and tracking links.
- 📊 Detailed Analytics – Track monthly clicks and country-wise engagement with clear graphs.
- 💸 100% Free – No sign-ups or subscriptions—just shorten and share!
- 🔒 Secure & Reliable – Protects links from tampering with a robust backend.
- Webapp: Go with Go Templ and Datastar
- Styling: Tailwind CSS with DaisyUI
- Persistence: PostgreSQL with GORM
- Event Handling: RabbitMQ with AsyncAPI
- Performance: Valkey, instant.page
- Local Development: Devbox, Taskfile, Process Compose
- Orchestration: Docker, Kubernetes, Skaffold, Helm
- CI/CD: GitHub Actions, ArgoCD
- Other Resources: IllustrationKit, Feather Icons
This project utilizes Devbox to streamline the development environment setup.
- Install Devbox: Download and install Devbox.
- Clone Repository: Clone the repository to your local machine.
- Create .env File: Duplicate
.env.example
and rename it to.env
. Fill in the required environment variables. - (Optional) Install VS Code Extensions : Install the Devbox VSCode extension and other extensions recommended in .vscode/extensions.json.
- Open Devbox Shell: Navigate to the project directory and run
devbox shell
to enter the isolated development environment. - Start Devbox Services: Within the
devbox shell
, executetask devbox-services:start
to launch dependent services like RabbitMQ, Valkey, and PostgreSQL. - Start Application: In a separate terminal, run
devbox run task webapp:dev
to start the development server.
Explore other available tasks with
devbox run task
.
- Setup Kubernetes: Ensure Docker and a local Kubernetes cluster (e.g., Minikube, Rancher Desktop) are running.
- Deploy with Skaffold: Run
devbox run task skaffold:dev
to build and deploy slek-link and its dependencies to your Kubernetes cluster.
We welcome contributions! Please review the contribution guidelines for details on how to contribute.
This project is licensed under the MIT License.
For questions or feedback, please contact us at a.kajendran@gmail.com.