This guide walks you through cloning the repository, spinning up the required infrastructure with Docker Compose, starting both the Go API server and the Next.js dashboard, and creating your very first short URL — all from scratch, in under five minutes.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.
Prerequisites
Make sure the following tools are installed and available in yourPATH before proceeding:
- Go 1.26+ — go.dev/dl
- Node.js 18+ — nodejs.org
- pnpm —
npm install -g pnpm - Docker (with Compose v2) — docs.docker.com
Steps
Start the infrastructure
Copy the example environment file and bring up all infrastructure services with Docker Compose:This single command starts three services in the background:
| Service | Port | Purpose |
|---|---|---|
| MongoDB | 27017 | Primary data store for users and URLs |
| Redis | 6379 | Redirect cache and rate limiting |
| InfluxDB | 8086 | Time-series click analytics |
The
.env file created from .env.example is pre-configured for local
development. The only value you should change before going to production is
JWT_SECRET — replace it with a long, randomly generated string.Run the backend
With the infrastructure running, start the Go API server:The API listens on http://localhost:8080 by default. Confirm it is healthy:Expected response:The interactive API reference is available at http://localhost:8080/docs as soon as the server is up.
Run the frontend
Open a second terminal, navigate to the The Next.js dashboard is now available at http://localhost:3000.
client directory, install dependencies, and start the development server:Create your first short URL
Use the following The response includes a
curl commands to register an account and shorten your first link:shortCode and a fully-formed shortUrl you can share immediately.Visit the short URL
Follow the redirect to verify the full round-trip works end-to-end:The server returns an HTTP 302 redirect to the original URL, records the click asynchronously to InfluxDB, and broadcasts the event over WebSocket to any connected dashboard — all before your browser finishes loading the destination page.
Prefer not to run anything locally? The hosted demo at
quikko.vercel.app is always available and
reflects the latest
main branch.Next Steps
Now that Quikko is running, explore the rest of the documentation:- Architecture — Understand how Redis, MongoDB, InfluxDB, and WebSockets fit together.
- API Reference — Full endpoint documentation auto-generated from the OpenAPI spec.