vibeLink is a modern, full-stack URL shortener designed for performance, observability, and ease of use. Built with the cutting-edge power of Bun, Elysia, and Angular 21.
- ⚡ High-Performance Redirects: Powered by Bun and Elysia for sub-millisecond response times.
- 📊 Advanced Analytics: Track clicks, unique visitors, device types, browsers, OS, and referrers.
- 🕵️ System Observability: Built-in system logs dashboard to monitor server health and activity.
- 🎨 Modern Admin UI: Beautiful, responsive interface built with PrimeNG and PrimeFlex.
- ⏱️ Smart Redirects: Configure intermediate "landing" pages with countdown timers for ads or notices.
- 🛡️ Link Management: Full CRUD capabilities with instant active/inactive toggling.
- 🎲 Auto-Aliases: One-click generation of secure, 8-character alphanumeric short codes.
- 📦 Data Portability: Export analytics to CSV and reset link statistics on demand.
- Frontend: Angular 21, PrimeNG, Signals
- Backend: Bun, Elysia.js
- Database: SQLite, Prisma ORM
- Styling: PrimeFlex, SCSS
Run the entire stack with a single command. This orchestrator handles port configuration and starts both services.
bun start- Admin UI:
http://localhost:4200 - API/Redirects:
http://localhost:3000
If you prefer running services individually:
1. Backend
cd server
bun install
bunx prisma migrate dev
bun run dev2. Frontend
cd client
npm install
npm startYou can customize the ports using environment variables:
SERVER_PORT=3001 CLIENT_PORT=4300 bun startMIT