Initial public release
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
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
This commit is contained in:
@@ -0,0 +1,80 @@
|
||||
# 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.
|
||||
Reference in New Issue
Block a user