Get EcoTrack running locally and make your first API calls in under 5 minutes.
| Tool | Version | Installation |
|---|---|---|
| Docker | 24+ | Get Docker |
| Docker Compose | v2+ | Included with Docker Desktop |
| curl | Any | Pre-installed on macOS/Linux |
System requirements: 8 GB RAM minimum (16 GB recommended), 10 GB free disk space.
git clone https://github.com/ecotrack/ecotrack.git
cd ecotrackCopy the development environment template:
cp configs/development/.env.example .envThe defaults work for local development — no changes needed.
docker compose up -dThis launches:
| Service | Port | Description |
|---|---|---|
| PostgreSQL | 5432 | Relational DB with PostGIS + TimescaleDB |
| Redis | 6379 | Cache and message broker |
| Neo4j | 7474 / 7687 | Knowledge graph database |
| MinIO | 9000 / 9001 | S3-compatible object storage |
| MLflow | 5000 | ML experiment tracking |
| FastAPI | 8000 | Python API (45+ endpoints) |
| Next.js | 3000 | Geospatial dashboard |
| Celery Worker | — | Async task processing |
Wait for all services to become healthy (about 30–60 seconds):
docker compose psAll services should show healthy or running status.
curl http://localhost:8000/api/healthExpected response:
{
"status": "healthy",
"version": "0.1.0",
"service": "ecotrack-api"
}List all available environmental domains:
curl http://localhost:8000/api/v1/domainscurl "http://localhost:8000/api/v1/climate/observations?variable=temperature&page_size=3"curl "http://localhost:8000/api/v1/biodiversity/species?conservation_status=EN"curl "http://localhost:8000/api/v1/health/air-quality?min_lat=28&max_lat=29&min_lon=77&max_lon=78"curl "http://localhost:8000/api/v1/food-security/drought-alerts?severity=D3"curl "http://localhost:8000/api/v1/resources/water-stress?latitude=30.79&longitude=75.84"Submit a natural language question to the multi-agent system:
curl -X POST http://localhost:8000/api/v1/agents/query \
-H "Content-Type: application/json" \
-d '{
"query": "What are the environmental risks facing the Western Ghats region?",
"domains": ["climate", "biodiversity", "health"]
}'The orchestrator routes your question to the relevant specialist agents and returns a synthesised answer with sources and confidence scores.
curl -X POST http://localhost:8000/api/v1/analytics/report \
-H "Content-Type: application/json" \
-d '{
"latitude": 10.5,
"longitude": 76.5,
"radius_km": 100,
"domains": ["climate", "biodiversity", "health", "food_security", "resources"]
}'Open your browser to http://localhost:3000 to access the Next.js geospatial dashboard with:
- Interactive map with MapLibre GL and deck.gl
- Domain-specific metric cards
- Alert panel
- Real-time data visualization
Browse and test all 42 endpoints interactively: http://localhost:8000/api/docs
Explore the environmental knowledge graph:
http://localhost:7474 (credentials: neo4j / ecotrack_kg)
View ML experiments and model registry: http://localhost:5000
Browse stored datasets and model artifacts:
http://localhost:9001 (credentials: minioadmin / minioadmin)
docker compose downTo also remove stored data volumes:
docker compose down -v| Goal | Guide |
|---|---|
| Add a new data source | Data Ingestion Tutorial |
| Train an ML model | Model Training Tutorial |
| Build a custom agent | Agent Development Tutorial |
| Set up for development | SETUP.md |
| Full API reference | API.md |
| System architecture | SYSTEM_ARCHITECTURE.md |
| Contributing | CONTRIBUTING.md |