A geospatial disease surveillance platform for planning, monitoring, and predicting coverage in health campaigns. TrueCover helps health organizations optimize field operations by combining location intelligence, adaptive sampling, and machine learning-based coverage prediction.
- Python 3.12+
- Bun (JavaScript runtime & package manager) - https://bun.sh
- Docker and Docker Compose
- UV (Python package manager) -
pip install uv
From the truecover-backend directory, start PostgreSQL, Martin tile server, and Temporal:
cd truecover-backend
docker-compose up -dThis starts:
| Service | Port | Description |
|---|---|---|
| PostgreSQL | 5432 | Database with PostGIS |
| Martin | 3052 | Vector tile server |
| Temporal | 7233 | Workflow orchestration |
| Temporal UI | 8080 | Temporal dashboard |
cd truecover-backend
uv sync # Install dependencies
uv run python app.py # Start on port 5001In a separate terminal:
cd truecover-backend
uv run python temporal_worker.pycd truecover-app
bun install # Install dependencies
bun run dev # Start on port 3050Navigate to http://localhost:3050
| Service | Port |
|---|---|
| Frontend (Vite) | 3050 |
| Backend API | 5001 |
| Martin Tiles | 3052 |
| PostgreSQL | 5432 |
| Temporal gRPC | 7233 |
| Temporal UI | 8080 |
| Adaptive Sampling | 8083 |
| Prevalence Predictor | 8084 |
VITE_MAPBOX_TOKEN=your_mapbox_token
VITE_CLERK_PUBLISHABLE_KEY=your_clerk_key
VITE_API_URL=http://localhost:5001
VITE_MARTIN_URL=http://localhost:3052
DATABASE_URL=postgresql://truecover:truecover@localhost:5432/truecover
CLERK_SECRET_KEY=your_clerk_secret
# Stop Docker services
cd truecover-backend
docker-compose down
# Or stop everything including volumes
docker-compose down -v