Files
geointel/docs/BACKEND_PACKAGE_MAP.md
T
Codex 6ea3586a3e
GeoIntel CI / docs-smoke (push) Has been cancelled
GeoIntel CI / contract-smoke (push) Has been cancelled
Initial GeoIntel V1 foundation
2026-06-16 23:36:32 +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.