Easily create and share memorable links to any webpage with bly.li! Simply input the URL you want to shorten, and our service will generate a concise link that you can share on social media, via email, or anywhere else.
- Scalability: Our architecture is designed for horizontal scaling, allowing services to be easily expanded to meet growing demands.
- Statelessness: All services are stateless, ensuring seamless performance even in the event of node failures. This also makes it easy to maintain and update individual components without affecting the overall system.
- Flexible Cache Management: Redis can be used as a shared cache cluster or per-node read cache, providing flexibility in scaling depending on your specific needs.
- MongoDB Scalability: MongoDB can be scaled using a shared cluster or via a cloud-based solution like MongoDB Atlas.
Service | Description |
---|---|
Traefik | Reverse-Proxy and Load-balancer |
Shortn | Shortener-Service - Handels new shortn-requests and stores them into redis |
BlowUp | Redirects to the saved URL - So it blows up the short-url to full and redirects via 302 |
Front | Serves the Angular-Frontend for the stack |
Redis | The data-platform for this app. Caches shortens and is used for messaging via redis Pub/Sub |
MongoDB | Used for Persistency |
└──src
└──services
| ├─-front
│ ├──shortn
│ └──blowup
└──shared
The frontend is built using Angular. It serves as a single-page-application. For an easy styling the project uses tailwindcss. To manage dependencies and build tasks, we're using Bun as an alternative to npm. Bun performs great and speeds up package installations and building tasks.
Deployment works via docker. Images are hosted on dockerhub. Feel free to use the docker-compose.demo.yml as a blueprint for your deployment.
Service | URL | Tag | Description |
---|---|---|---|
mensch0mat/bly.li.blowup | hub.docker.com | latest | latest stable version |
" | hub.docker.com | main | on push builds from main-branch |
mensch0mat/bly.li.shortn | hub.docker.com | latest | latest stable version |
" | hub.docker.com | main | on push builds from main-branch |