Commit Graph

14 Commits

Author SHA1 Message Date
2a628db521 feat: slash chord support (G/B parses+transposes bass note)
All checks were successful
CI / Check / Test (push) Successful in 11m54s
2026-07-11 22:12:03 +02:00
7bd27d9b9c feat: JWT auth, /api prefix, SPA serving, OpenAPI, lean main.rs
- auth: register/login/refresh/logout w/ JWT+Argon2, protected mutations
- domain: User, RefreshSession, auth ports, Unauthorized/Forbidden errors
- presentation: context/state/factory/errors/extractors/openapi modules
- routes behind /api, SPA served from root w/ fallback
- OpenAPI Scalar at /docs
- frontend ssr:false, single-binary Dockerfile
2026-07-11 21:28:52 +02:00
d13df586dd refactor: DDD/CQRS architecture, unified crate layout
- crates: common→application, api→presentation, infrastructure/*→adapters/*
- new crates: api-types, infra-wiring
- domain: errors/, models/, value_objects/, ports/, services/
- application: CQRS use cases (songs/, tabs/) w/ commands, queries, deps
- unified DomainError replaces RepositoryError
- workspace deps, unused dep cleanup
- fix: parse plain-text chord lines (UG drops spans mid-song)
- tests extracted to separate modules (tests/ dirs)
2026-07-11 21:02:10 +02:00
2558f19960 feat: add sort params to list/search, capo-aware GET /songs/{id}?apply_capo=true 2026-04-08 04:05:57 +02:00
1936ced395 feat: add update_meta to SongRepositoryPort and PATCH /songs/{id} 2026-04-08 03:39:29 +02:00
377fe957bc feat: add SongSearchService and GET /songs?q= search endpoint 2026-04-08 03:35:33 +02:00
8f9886c9a9 feat(domain): add StoredSong, SongSummary, SongRepositoryPort 2026-04-08 03:03:58 +02:00
a5897a29d8 feat(domain): add ChordTransposer with semitone and key transposition 2026-04-08 01:37:41 +02:00
2f703fbb2a feat(domain): add TabFetcherPort and TabParserPort traits 2026-04-08 01:35:55 +02:00
d004698923 feat(domain): add Song, Section, LyricLine, ChordPosition types 2026-04-08 01:34:26 +02:00
98370df27a fix(domain): rename from_str to parse on Note and Chord 2026-04-08 01:33:19 +02:00
422afbb3f2 feat(domain): add Chord struct with parsing and display 2026-04-08 01:31:17 +02:00
ac1f1bd3da fix(domain): remove dead use_sharps param, handle Cb enharmonic 2026-04-08 01:29:20 +02:00
a3ae4429f5 feat(domain): add Note enum with semitone math and display 2026-04-08 01:26:17 +02:00