Skip to main content

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).