Fast, reliable URL shortening service built with Nuxt 4
Transform long URLs into short, shareable links with advanced analytics and premium features.
- 🚀 Fast URL Shortening - Create short links instantly
- 📊 Analytics Dashboard - Track link performance and clicks
- 🔒 Magic Link Authentication - Passwordless login via email
- 💎 Premium Plans - Custom slugs, extended limits, and advanced analytics
- 💳 Bitcoin Payments - Cryptocurrency payment integration
- 🎨 Modern UI - Beautiful, responsive design with Tailwind CSS
- 🌐 Real-time Updates - WebSocket-powered notifications
- 📧 Email Templates - Beautiful email notifications with Vue Email
- 🔐 Secure - Built-in security best practices
- 📱 QR Code Generation - Download QR codes for your short links
- Frontend: Nuxt 4, Vue 3, Tailwind CSS
- Backend: Nitro, H3
- Database: PostgreSQL, Drizzle ORM
- Email: Nodemailer, Vue Email
- Payments: Bitcoin integration
- Testing: Vitest, Playwright
- DevOps: Docker, Docker Compose, Nginx, GitHub Actions
- Node.js 22+
- pnpm 10+
- PostgreSQL 16+
- Docker & Docker Compose (optional)
-
Clone the repository
git clone https://github.com/websavva/shortqix.git cd shortqix -
Install dependencies
pnpm install
-
Set up environment variables
cp .env.example .env # Edit .env with your configuration -
Start PostgreSQL and SMTP server (using Docker)
docker compose -f docker-compose.dev.yml up -d
-
Run database migrations
pnpm db:migrate
-
Start development server
pnpm dev
Visit http://localhost:3000
docker compose -f docker-compose.dev.yml updocker compose -f deployment/docker-compose.yml up -dpnpm dev # Start development server
pnpm build # Build for production
pnpm preview # Preview production build
pnpm test # Run all tests
pnpm test:e2e # Run e2e tests
pnpm test:unit # Run unit tests
pnpm lint # Lint code
pnpm db:migrate # Run database migrations
pnpm db:studio # Open Drizzle StudioSavva - @websavva
