# Implementation Epics ## EPIC 01 — Repository and Runtime Foundation Goal: create a runnable full-stack foundation with backend, frontend, database, worker and shared conventions. Must deliver: - FastAPI app booting - health endpoints - SQLAlchemy/Alembic setup - PostGIS-enabled PostgreSQL connection - React app booting - Docker Compose local stack - basic CI-friendly test commands ## EPIC 02 — Project and Area Management Goal: allow users to create project workspaces and define Kempen analysis areas. Must deliver: - project CRUD - area CRUD - polygon validation - area surface calculation - geometry storage in PostGIS - frontend project dashboard - map drawing workflow ## EPIC 03 — Dataset Manager Goal: upload, register and inspect geospatial datasets. Must deliver: - dataset upload endpoint - metadata extraction - storage path registration - dataset table - dataset detail page - processing status model ## EPIC 04 — Raster Foundation Goal: support GeoTIFF metadata, preview, clipping and tiling readiness. Must deliver: - Rasterio metadata extraction - bounds, CRS, band count, resolution - clip request contract - tile generation contract - raster preview placeholder backed by real metadata ## EPIC 05 — Vector Foundation Goal: support GeoJSON/Shapefile/GPKG import and core vector operations. Must deliver: - GeoPandas import - CRS transform - clip to area - area/perimeter calculation - vector layer display/export ## EPIC 06 — GRB Reference Integration Goal: retrieve GRB features for selected areas and cache them in PostGIS. Must deliver: - GRB source config - WFS request service - cache table or dataset registration - building reference layer - failure handling and source metadata ## EPIC 07 — Detection Pipeline Skeleton Goal: run object detection over prepared raster tiles and store georeferenced outputs. Must deliver: - model registry stub - detection job request - tile inference interface - detections table - GeoJSON export - map overlay The first implementation may use a deterministic fixture model only if the full interface is identical to a future YOLO implementation. ## EPIC 08 — QA/QC Engine Goal: compare detections against GRB reference features. Must deliver: - spatial matching - IoU calculation - precision/recall/F1 - false positives/false negatives - QA result layer - metrics panel ## EPIC 09 — Export Layer Goal: export useful outputs. Must deliver: - GeoJSON export - analysis metadata export - QA summary JSON - future-compatible report registry ## EPIC 10 — Stabilization and Polish Goal: make the MVP coherent, testable and demo-ready. Must deliver: - error states - empty states - loading states - validation messages - test coverage on critical services - changelog and release notes