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

53 lines
1.9 KiB
Markdown

# Component Relationship Diagram
```mermaid
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 |