Files
geointel/docs/BACKEND_PACKAGE_MAP.md
T
Jens faeb58ef6d
GeoIntel release gates / Compile, test, contracts and builds (push) Successful in 1m49s
GeoIntel release gates / Python and npm vulnerability policy (push) Successful in 21s
GeoIntel release gates / Production AI image, SBOM and container scan (push) Successful in 5m39s
GeoIntel release gates / Deploy exact gated revision to Unraid (push) Failing after 58m43s
Initial public release
2026-08-31 21:56:53 +02:00

81 lines
1.5 KiB
Markdown

# Backend Package Map
Target backend layout:
```text
backend/
app/
main.py
api/
router.py
routes/
health.py
projects.py
areas.py
datasets.py
raster.py
vector.py
analysis.py
qaqc.py
exports.py
core/
config.py
database.py
logging.py
security.py
errors.py
models/
project.py
area.py
dataset.py
layer.py
analysis.py
detection.py
segmentation.py
quality.py
export.py
job.py
event.py
schemas/
common.py
project.py
area.py
dataset.py
analysis.py
quality.py
export.py
services/
project_service.py
area_service.py
dataset_service.py
raster_service.py
vector_service.py
grb_service.py
detection_service.py
segmentation_service.py
qaqc_service.py
export_service.py
event_service.py
workers/
queue.py
jobs.py
repositories/
base.py
projects.py
areas.py
datasets.py
analysis_runs.py
scripts/
seed_demo.py
tests/
```
## Rules
- API routes should be thin.
- Business logic belongs in services.
- SQLAlchemy query composition belongs in repositories where useful.
- Pydantic schemas are the API contract.
- Models are persistence structures, not API response structures.
- GIS processing functions must be testable outside HTTP handlers.