Files
pocket-chords/architecture.mmd

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