A URL shortening service built with Express and TypeScript. This service allows you to:
- Create shortened URLs with optional expiration times
- Generate QR codes for URLs
- Support for authenticated and anonymous URL shortening
- Delete proxy functionality
- URL shortening with customizable short IDs
- Optional URL expiration
- QR code generation
- Support for authenticated URLs with encrypted seeds
- Delete proxy functionality
- Health check endpoint
Creates a shortened URL. Accepts:
url: The URL to shortenmaxAge: Optional expiration time in millisecondsseed: Optional encrypted seed for authenticated URLs
Generates a QR code. Accepts:
text: The text/URL to encodeoptions: Optional QR code configuration
Proxies delete requests to URLs. Accepts:
id: The short URL ID
Health check endpoint
- Clone the repository
- Install dependencies with
yarn install - Create a
.envfile with required environment variables - Run
yarn devto start in development mode
ID_LENGTH: Length of generated short IDs (default: 8)PORT: Server port (default: 3003)
- Express.js
- TypeScript
- Redis for data storage
- QRCode for QR generation
- Various security middleware (helmet, cors, etc)
- add challenges instead of seed checking
- fix delete proxy
- more input validation
- add more tests
- add more logging
- add more metrics
- add more error handling
- add more documentation