Quick Start
This guide gets a full ScanPick stack running locally in about 5 minutes. You’ll have PostgreSQL, the API, and the web dashboard all running via Docker.
Prerequisites
Section titled “Prerequisites”- Docker (with Compose v2)
- .NET 10 SDK
1. Clone and Configure
Section titled “1. Clone and Configure”git clone https://github.com/timDeHof/scanpick.gitcd scanpick
# Copy environment file and set secretscp .env.example .envEdit .env and set:
JWT_SECRET— generate withopenssl rand -base64 48 | tr -d '/+=' | head -c 64POSTGRES_PASSWORD— any secure password
2. Start the Full Stack
Section titled “2. Start the Full Stack”docker compose up --buildThis starts three containers:
- PostgreSQL 16 — database
- ScanPick API — .NET 10 backend (port 5000)
- nginx — serves web dashboard + reverse proxies API (port 80)
Wait for the API to finish seeding demo data (about 10 seconds).
3. Open the Web Dashboard
Section titled “3. Open the Web Dashboard”Navigate to http://localhost.
Log in with:
- Worker ID:
worker-001 - PIN:
1234
You’ll see the wave management dashboard. A demo wave has been seeded automatically.
4. Start the Mobile App (Optional)
Section titled “4. Start the Mobile App (Optional)”In a separate terminal:
cd mobilenpm installnpx expo start- Press
afor Android Emulator - Press
ifor iOS Simulator
Log in with worker-003 / 1234 to see assigned waves and start scanning.
5. Verify Everything Works
Section titled “5. Verify Everything Works”| Check | How |
|---|---|
| Web dashboard | Open http://localhost |
| API health | curl http://localhost:5000/api/health |
| Swagger UI | http://localhost:5004/scalar/v1 (dev mode) |
| Mobile | App loads, waves appear |
What’s Next?
Section titled “What’s Next?”- Installation options — single-binary, Docker, or manual setup
- Configuration reference — all environment variables
- Architecture overview — understand the system design