Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/Andr21Da16/Quikko/llms.txt

Use this file to discover all available pages before exploring further.

Quikko ships with a Docker Compose file in server/ that starts all three infrastructure services — MongoDB, Redis, and InfluxDB — with a single command. The Go backend and Next.js frontend run directly on your machine outside of Docker, which keeps rebuild times fast and makes live-reload development straightforward.
server/docker-compose.yml
services:
  mongo:
    image: mongo:7
    container_name: urlshortener-mongo
    restart: unless-stopped
    ports:
      - "27017:27017"
    volumes:
      - mongo_data:/data/db

  redis:
    image: redis:7-alpine
    container_name: urlshortener-redis
    restart: unless-stopped
    ports:
      - "6379:6379"
    volumes:
      - redis_data:/data

  influxdb:
    image: influxdb:2.7
    container_name: urlshortener-influxdb
    restart: unless-stopped
    ports:
      - "8086:8086"
    environment:
      DOCKER_INFLUXDB_INIT_MODE: setup
      DOCKER_INFLUXDB_INIT_USERNAME: admin
      DOCKER_INFLUXDB_INIT_PASSWORD: admin12345
      DOCKER_INFLUXDB_INIT_ORG: url-shortener
      DOCKER_INFLUXDB_INIT_BUCKET: clicks
      DOCKER_INFLUXDB_INIT_ADMIN_TOKEN: dev-influx-token-change-me
    volumes:
      - influx_data:/var/lib/influxdb2
      - influx_config:/etc/influxdb2

volumes:
  mongo_data:
  redis_data:
  influx_data:
  influx_config:

Services

ServicePortDescription
MongoDB27017Primary storage for users and URLs
Redis6379Redirect cache and rate limiting
InfluxDB8086Time-series click event storage

Managing the infrastructure

Start all services in the background:
cd server
docker compose up -d
Stop all services (data is preserved):
docker compose down
Reset volumes — wipe all stored data:
docker compose down -v
Check service status:
docker compose ps
The Go API and Next.js frontend are not part of the Compose file. Run the backend with go run cmd/api/main.go and the frontend with pnpm dev in separate terminals after the infrastructure is up.
The InfluxDB admin UI is available at http://localhost:8086 once the container is running. Log in with the credentials defined in the Compose file (admin / admin12345) to browse raw click data, inspect buckets, and build ad-hoc queries — useful for debugging analytics during development.
For the full list of environment variables that tell the backend where to find these services, see Environment Variables.

Build docs developers (and LLMs) love