kurzr
kurzr is a simple URL shortener.
Features
The main feature is to take a full (long) URL and produce a short URL. Requesting the resulting short URL will return an HTTP redirect status to the original full URL.
Alias
When generating a short URL, you may optionally provide an alias which will be used as the short identifier.
Architecture
API
The API is built with Go and implements the Clean Architecture.
Web
The web UI is built with React and Next.js.
Infrastructure
Runtime
The project is running as a serverless function using Netlify Functions, which uses AWS Lambda behind the scenes.
Persistence
URLs are stored in Redis.
Security
reCAPTCHA
reCAPTCHA is used to make it harder for bots to use the site.
Rate Limiting
Redis is also utilized for rate limiting.