mirror of
https://github.com/azaion/satellite-provider.git
synced 2026-06-21 16:41:14 +00:00
b0fffa6d42
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>
53 lines
1.9 KiB
Markdown
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 |
|