Satellite imagery analysis platform for Slovakia: Sentinel-2 environmental indices on an interactive map, with per-pixel analytics for any selected area.
- Interactive Mapping: NDVI / NDWI / NDBI / Moisture layers on a MapLibre GL map, locked to Slovakia.
- Per-Pixel Analytics: select any area (drag or city search) → statistics, timeseries, histogram, and change detection computed from raw pixel values stored in PostGIS.
- Tile Cache & DB Rendering: tiles are cached in the database and can be re-rendered from stored pixels without touching Sentinel Hub quota.
- Scheduler: background jobs keep region statistics fresh and evict stale tiles.
- Exports: chart PNG and self-contained HTML reports.
- Dockerized: dev (hot-reload) and production compose setups.
flowchart LR
UI["React + MapLibre"] -->|REST| API["FastAPI"]
UI -->|basemap · geocoding| MT["MapTiler"]
API --> DB[("Supabase<br/>PostgreSQL + PostGIS")]
API --> SH["Sentinel Hub"]
SCHED["APScheduler"] --> SH
SCHED --> DB
Full picture: docs/architecture/overview.md
- Backend: FastAPI, APScheduler, NumPy/Pillow, Sentinel Hub API
- Frontend: React, TypeScript, Vite, MapLibre GL JS, Chart.js, TailwindCSS
- Database: PostgreSQL with PostGIS (via Supabase), partitioned pixel storage
- Infrastructure: Docker & Docker Compose
- Docker & Docker Compose
- Sentinel Hub Account (Client ID & Secret)
- Supabase Project (DB Connection String)
-
Clone the repository
git clone https://github.com/Skriplss/SattelishMaps.git cd SattelishMaps -
Configure Environment
cp .env.example .env # Edit .env with your credentials -
Create the database schema — run
database/schemas/init.sqlin your Supabase SQL Editor (details: database/README.md). -
Start Services
docker compose up -d # production docker compose -f docker-compose.dev.yml up # development (hot-reload)
-
Access the Application
- Frontend: http://localhost:3000
- Backend API Docs: http://localhost:8000/docs
Start at the documentation index. Highlights:
- System Architecture: diagrams and data flows.
- Backend Guide: API, services, scheduler.
- Database Schema: ER diagram, partitioning, RPCs.
- Frontend Architecture and Features.
- Deployment: Docker dev & production setup (server guide).
- Architecture Decisions: ADRs recording key technical choices.
This project is licensed under the MIT License - see the LICENSE file for details.