Files
satellite-provider/_docs/02_document/diagrams/components.md
T
Oleksandr Bezdieniezhnykh b0fffa6d42 [AZ-284] Autodev baseline + testability refactor
Phase A baseline outputs from /autodev (Steps 1-5):
- Problem & solution docs (_docs/00_problem, _docs/01_solution)
- Codebase documentation (_docs/02_document) incl. architecture,
  module-layout, glossary, system-flows, baseline compliance scan
- Test specs (blackbox, performance, resilience, security, resource,
  traceability matrix)
- Test task decomposition (_docs/02_tasks/todo): AZ-285..AZ-290
- Testability refactor (_docs/04_refactoring/01-testability-refactoring):
  - TC-01 Move DownloadedTileInfoV2 + new ExistingTileInfo to Common.DTO
  - TC-02 Replace dead ISatelliteDownloader API with real signatures
  - TC-03 GoogleMapsDownloaderV2 implements ISatelliteDownloader
  - TC-04 TileService depends on ISatelliteDownloader (mockable)
  - TC-05 DI + endpoints use ISatelliteDownloader
- Test runner scripts (scripts/run-tests.sh, run-performance-tests.sh)
- Autodev state pointer (_docs/_autodev_state.md)

Prepares the codebase for AZ-285..AZ-290 unit/integration test work.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-10 04:44:08 +03:00

1.9 KiB

Component Relationship Diagram

graph TD
    subgraph "External"
        Client[HTTP Clients]
        GoogleMaps[Google Maps API]
        PG[(PostgreSQL)]
        FS[File System]
    end

    subgraph "SatelliteProvider"
        WebApi[WebApi<br/>Program.cs endpoints]
        Route[RouteManagement<br/>RouteService + RouteProcessingService]
        Region[RegionProcessing<br/>RegionService + Queue + Workers]
        Tile[TileDownloader<br/>GoogleMapsDownloaderV2 + TileService]
        DA[DataAccess<br/>Repositories + Migrations]
        Common[Common<br/>DTOs + Interfaces + Configs + GeoUtils]
    end

    Client -->|HTTP| WebApi
    WebApi --> Route
    WebApi --> Region
    WebApi --> Tile
    Route --> Region
    Route --> DA
    Region --> Tile
    Region --> DA
    Tile --> DA
    Tile -->|HTTPS| GoogleMaps
    Tile --> FS
    Region --> FS
    Route --> FS
    DA --> PG
    WebApi --> DA
    WebApi --> Common
    Route --> Common
    Region --> Common
    Tile --> Common
    DA --> Common

Component Summary

# Component Project(s) Responsibility
1 Common SatelliteProvider.Common Shared DTOs, interfaces, configs, GeoUtils
2 DataAccess SatelliteProvider.DataAccess Database entities, Dapper repositories, DbUp migrations
3 TileDownloader SatelliteProvider.Services (GoogleMapsDownloaderV2, TileService) Google Maps tile acquisition, storage, caching
4 RegionProcessing SatelliteProvider.Services (RegionService, RegionProcessingService, RegionRequestQueue) Region request lifecycle, tile stitching, CSV/summary output
5 RouteManagement SatelliteProvider.Services (RouteService, RouteProcessingService) Route creation, point interpolation, geofencing, consolidated map output
WebApi SatelliteProvider.Api (Program.cs) HTTP endpoints, DI configuration, startup