65 lines
1.2 KiB
Plaintext
65 lines
1.2 KiB
Plaintext
graph TD
|
|
subgraph Presentation
|
|
MAIN[main.rs]
|
|
ROUTES[routes/]
|
|
EXTRACT[extractors]
|
|
OPENAPI[OpenAPI / Scalar]
|
|
SPA[SPA static files]
|
|
end
|
|
|
|
subgraph Application
|
|
SONGS_UC[songs/]
|
|
TABS_UC[tabs/]
|
|
AUTH_UC[auth/]
|
|
end
|
|
|
|
subgraph Domain
|
|
MODELS[models/]
|
|
VO[value_objects/]
|
|
PORTS[ports/]
|
|
SERVICES[services/]
|
|
ERRORS[errors/]
|
|
end
|
|
|
|
subgraph Adapters
|
|
SQLITE[(SQLite)]
|
|
UG[UG Parser]
|
|
JWT[JWT + Argon2]
|
|
end
|
|
|
|
subgraph "Shared Crates"
|
|
API_TYPES[api-types]
|
|
INFRA[infra-wiring]
|
|
end
|
|
|
|
subgraph Frontend
|
|
REACT[React SPA]
|
|
end
|
|
|
|
MAIN --> ROUTES
|
|
MAIN --> OPENAPI
|
|
ROUTES --> EXTRACT
|
|
ROUTES --> SONGS_UC
|
|
ROUTES --> TABS_UC
|
|
ROUTES --> AUTH_UC
|
|
ROUTES --> API_TYPES
|
|
|
|
SONGS_UC --> PORTS
|
|
TABS_UC --> PORTS
|
|
AUTH_UC --> PORTS
|
|
|
|
PORTS --> MODELS
|
|
PORTS --> VO
|
|
PORTS --> ERRORS
|
|
SERVICES --> MODELS
|
|
SERVICES --> VO
|
|
|
|
SQLITE -.->|implements| PORTS
|
|
UG -.->|implements| PORTS
|
|
JWT -.->|implements| PORTS
|
|
|
|
MAIN --> INFRA
|
|
MAIN --> SPA
|
|
REACT -->|/api/*| ROUTES
|
|
SPA -->|serves| REACT
|