Skip to content

Latest commit

Β 

History

History
122 lines (88 loc) Β· 2.87 KB

File metadata and controls

122 lines (88 loc) Β· 2.87 KB

Shortqix

Shortqix Banner

Fast, reliable URL shortening service built with Nuxt 4

Transform long URLs into short, shareable links with advanced analytics and premium features.

πŸ”— Live Demo


✨ 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

πŸ› οΈ Tech Stack


πŸš€ Quick Start

Prerequisites

  • Node.js 22+
  • pnpm 10+
  • PostgreSQL 16+
  • Docker & Docker Compose (optional)

Installation

  1. Clone the repository

    git clone https://github.com/websavva/shortqix.git
    cd shortqix
  2. Install dependencies

    pnpm install
  3. Set up environment variables

    cp .env.example .env
    # Edit .env with your configuration
  4. Start PostgreSQL and SMTP server (using Docker)

    docker compose -f docker-compose.dev.yml up -d
  5. Run database migrations

    pnpm db:migrate
  6. Start development server

    pnpm dev

Visit http://localhost:3000


🐳 Docker Deployment

Development

docker compose -f docker-compose.dev.yml up

Production

docker compose -f deployment/docker-compose.yml up -d

πŸ“¦ Available Scripts

pnpm 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 Studio

πŸ‘¨β€πŸ’» Author

Savva - @websavva