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

1.5 KiB

Backend Package Map

Target backend layout:

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.