https://github.com/kaje94/slek-link
A high-performance, free URL shortener built for speed and simplicity. It offers detailed analytics, tracking monthly clicks and country-wise engagement to help you optimize your links.
https://github.com/kaje94/slek-link
argocd asyncapi bun daisy datastar devbox docker go go-templ gorm helm kubernetes link-shortener posgresql process-compose rabbitmq skaffold tailwind taskfile url-shortener
Last synced: about 1 month ago
JSON representation
A high-performance, free URL shortener built for speed and simplicity. It offers detailed analytics, tracking monthly clicks and country-wise engagement to help you optimize your links.
- Host: GitHub
- URL: https://github.com/kaje94/slek-link
- Owner: kaje94
- License: mit
- Created: 2024-12-30T09:28:11.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2025-03-16T08:21:58.000Z (about 2 months ago)
- Last Synced: 2025-03-16T09:24:52.179Z (about 2 months ago)
- Topics: argocd, asyncapi, bun, daisy, datastar, devbox, docker, go, go-templ, gorm, helm, kubernetes, link-shortener, posgresql, process-compose, rabbitmq, skaffold, tailwind, taskfile, url-shortener
- Language: templ
- Homepage: https://slek.link
- Size: 2.68 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 12
-
Metadata Files:
- Readme: README.md
- Contributing: .github/CONTRIBUTING.md
- License: LICENSE
- Code of conduct: .github/CODE_OF_CONDUCT.md
- Codeowners: .github/CODEOWNERS
- Security: .github/SECURITY.md
Awesome Lists containing this project
README
# slek-link
A fast, free, and easy-to-use URL shortener with built-in analytics for tracking clicks by country and month.
[](https://sonarcloud.io/summary/new_code?id=kaje94_slek-link)
[](https://sonarcloud.io/summary/new_code?id=kaje94_slek-link)
[](https://sonarcloud.io/summary/new_code?id=kaje94_slek-link)
[](https://sonarcloud.io/summary/new_code?id=kaje94_slek-link)
[](https://sonarcloud.io/summary/new_code?id=kaje94_slek-link)## Features
- ๐ **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.## Technologies Used
- **Webapp**: [Go](https://go.dev/) with [Go Templ](https://templ.guide/) and [Datastar](https://data-star.dev/)
- **Styling**: [Tailwind CSS](https://tailwindcss.com/) with [DaisyUI](https://daisyui.com/)
- **Persistence**: [PostgreSQL](https://www.postgresql.org/) with [GORM](https://gorm.io/)
- **Event Handling**: [RabbitMQ](https://www.rabbitmq.com/) with [AsyncAPI](https://www.asyncapi.com/)
- **Performance**: [Valkey](https://valkey.io/), [instant.page](https://instant.page/)
- **Local Development**: [Devbox](https://www.jetpack.io/devbox/), [Taskfile](https://taskfile.dev/), [Process Compose](https://github.com/F1bonacc1/process-compose)
- **Orchestration**: [Docker](https://www.docker.com/), [Kubernetes](https://kubernetes.io/), [Skaffold](https://skaffold.dev/), [Helm](https://helm.sh/)
- **CI/CD**: [GitHub Actions](https://github.com/features/actions), [ArgoCD](https://argo-cd.readthedocs.io/en/stable/)
- **Other Resources**: [IllustrationKit](https://illustrationkit.com/illustrations/halo), [Feather Icons](https://feathericons.com/)## Getting Started
This project utilizes [Devbox](https://www.jetpack.io/devbox/) to streamline the development environment setup.
### Prerequisites
1. **Install Devbox**: Download and install [Devbox](https://www.jetpack.io/devbox/).
2. **Clone Repository**: Clone the repository to your local machine.
3. **Create .env File**: Copy `.env.example` to `.env` and update the required environment variables.
4. **(Optional) Install Direnv**: Install [direnv](https://direnv.net/) and run `devbox generate direnv --env-file .env` to automatically load the Devbox environment and variables.
5. **(Optional) Install VS Code Extensions**: Install the [Devbox VSCode extension](https://marketplace.visualstudio.com/items?itemName=jetpack-io.devbox) and [Direnv VSCode extension](https://marketplace.visualstudio.com/items?itemName=mkhl.direnv).
โ Learn more about configuring VS Code with Devbox [here](https://www.jetify.com/docs/devbox/ide_configuration/vscode/).### Running Locally
1. **Open Devbox Shell**: Navigate to the project directory and run `devbox shell` to enter the isolated development environment.
2. **Start Devbox Services**: Within the `devbox shell`, execute `task devbox-services:start` to launch dependent services like RabbitMQ, Valkey, and PostgreSQL.
3. **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`.
### Running with Kubernetes
1. **Setup Kubernetes**: Ensure Docker and a local Kubernetes cluster (e.g., Minikube, Rancher Desktop) are running.
2. **Deploy with Skaffold**: Run `devbox run task skaffold:dev` to build and deploy slek-link and its dependencies to your Kubernetes cluster.## Contributing
We welcome contributions! Please review the [contribution guidelines](.github/CONTRIBUTING.md) for details on how to contribute.
## License
This project is licensed under the [MIT License](LICENSE).
## Contact
For questions or feedback, please contact us at [[email protected]](mailto:[email protected]).