Skip to content
FLICKED Docs

Getting started

Quickstart

Get the database, the backend and the launcher running on your own machine. About ten minutes, most of it installing prerequisites.

Prerequisites#

ToolNeeded forGet it
DockerPostgreSQL, and the backend testsdocker.com
.NET 10 SDKThe backenddotnet.microsoft.com
Node.js LTSThe launcher UI, website and dashboardnodejs.org
RustThe launcher's native siderustup.rs

Run it#

  1. Clone the repository

    Terminal
    git clone https://github.com/flickedgg/FLICKED.git
    cd FLICKED
  2. Start the database

    The repository's docker-compose.yml runs PostgreSQL 18 with a development-only password. Create no tables: the API applies its own migrations on startup.

    Terminal
    docker compose up -d
  3. Configure and start the backend

    Copy backend/.env.example to backend/.env and fill in a Steam Web API key and your SteamID64. The connection string and Steam:PublicUrl already have development defaults in appsettings.Development.json that match the Docker database.

    backend/.env
    STEAM_API_KEY=YOUR_STEAM_API_KEY_HERE
    FLICKED_ADMIN_STEAM_IDS=YOUR_STEAM_ID_HERE
    
    # Only needed once a real CS2 server has to call you back. In development this
    # is a tunnel whose hostname changes on every restart, so it is not committed.
    FLICKED_API_PUBLIC_URL=https://your-public-api-url.com

    Then start it. The API serves on http://localhost:5165 and applies its migrations on the first run.

    Terminal
    cd backend/Flicked.Api
    dotnet run --launch-profile https
  4. Start the launcher

    Leaving FLICKED_API unset builds against http://localhost:5165, which is what you want while developing.

    Terminal
    cd launcher
    npm install
    npm run tauri dev

The website and dashboard#

Both are Next.js apps and run the usual way from their own folders. The dashboard expects the API on http://localhost:5165 and is served on http://localhost:3000, which is the origin the backend allows by default.

Terminal
cd dashboard   # or: cd website
npm install
npm run dev

To reach the dashboard as an admin, your SteamID64 must be listed in FLICKED_ADMIN_STEAM_IDS.

Play with fewer than ten people#

A real Competitive match needs ten players. While testing alone or with a friend, shrink it:

backend/.env
# a 1v1 is a complete match as far as the matchmaker and rating are concerned
Matchmaking:CompetitivePlayers=2

Everything else, including rating, works unchanged at that size. See Configuration for short-handed matches, which are the production-friendly version of the same idea.

Run the tests#

Terminal
dotnet test backend

About 70 tests in roughly 30 seconds. They need Docker running because they use a real PostgreSQL database, flicked_test, which the fixture creates and migrates itself. Why real Postgres and not an in-memory provider is explained in Contributing.

Repository layout#

PathWhat is in it
backend/API and database code. Flicked.slnx opens it
launcher/The desktop launcher: src/ is the React UI, src-tauri/ the Rust side
dashboard/The admin dashboard
website/The public website
docs/Everything written down. These docs are built from it
assests/Images, logos and other shared assets
docker-compose.ymlPostgreSQL for local development

Next steps#

Esc
↑↓ navigate ↵ open