Installation
Prerequisites
- Rust 1.87+ (with
cargo) - Node.js 20+ and pnpm 8.12+
- Docker and Docker Compose (for local databases)
- just command runner (
cargo install just)
Clone and Setup
git clone https://github.com/smutjebot/apollon.git
cd apollon
pnpm install
Start Databases
The development stack includes PostgreSQL (relational data) and TimescaleDB (GPS time-series):
just db-up
This starts both databases via Docker Compose from dev-stack/db.docker-compose.yml.
Run the API
just run-api
The API starts at http://localhost:3000. Verify with:
curl http://localhost:3000/health
Run the Web App
cd platform/web
pnpm dev
The SvelteKit app starts at http://localhost:5173.
Run Everything
pnpm dev
Starts both the API and web app in parallel.
Mock GPS Data
For development without a physical Peplink router, enable mock GPS:
# config/local.toml
[mock]
use_mock_data = true
The mock provider generates realistic GPS coordinates with simulated speed changes (0-90 km/h).