Getting Started
Prerequisites
- Docker and Docker Compose
- Mise (polyglot tool version manager) - Installation
- uv (Python package manager) - Installed via mise
- Buf (Protobuf tooling) - Installed via mise
- Java 21 (Temurin distribution)
- Bun (TypeScript runtime)
Local Setup
- Clone the repository
- Install tool versions via mise
- Generate shared models from protobuf definitions
- Start infrastructure with Docker Compose
This starts: - Pub/Sub emulator (port 8085) - Firestore emulator (port 8080)
- Create Pub/Sub topics
- Start services (in separate terminals)
# Ingestion API
cd services/ingestion
mise run dev
# State Manager
cd services/state_manager
./gradlew bootRun --args='--spring.profiles.active=local'
# Path Optimizer (manual trigger for testing)
cd services/path_optimizer
mise run start
# Simulator
cd services/simulators
mise run dev
- Verify system is running
Check Firestore emulator UI: http://localhost:4000 Check Ingestion API docs: http://localhost:8000/docs