|
|
2f635c9b24
|
chore: enable LTO for release builds
|
2026-07-11 22:05:11 +02:00 |
|
|
|
fb936a64b0
|
clean up
CI / Check / Test (push) Successful in 12m2s
|
2026-07-11 22:00:59 +02:00 |
|
|
|
2bfd0c7984
|
chore: gitignore sqlite files, update lockfile
|
2026-07-11 22:00:31 +02:00 |
|
|
|
bfaea4a4b0
|
style: rustfmt
|
2026-07-11 21:59:47 +02:00 |
|
|
|
2b702d88e4
|
feat: add tracing throughout, HTTP TraceLayer, detailed error logs
|
2026-07-11 21:58:58 +02:00 |
|
|
|
e89cf48b34
|
fix: sqlite create_if_missing on connect
|
2026-07-11 21:51:34 +02:00 |
|
|
|
aa31e1bdcd
|
docs: update LICENSE, README, architecture diagram
|
2026-07-11 21:49:49 +02:00 |
|
|
|
ff39680106
|
ci: add Gitea + GitHub Actions workflows
|
2026-07-11 21:44:39 +02:00 |
|
|
|
35b82fc5b3
|
chore: add dev/deploy targets to Makefile, deploy.sh
|
2026-07-11 21:43:55 +02:00 |
|
|
|
c4e9076b11
|
feat(app): auth UI, SPA mode, /api base URL
- auth: login/register bottom sheets, token storage, authFetch
- AuthProvider context w/ auto-refresh on mount
- hide add/edit/delete for guests, sign-in button in nav
- SPA mode (ssr:false), loaders→client-side useEffect
- API base URL /api (same-origin), loading spinners
|
2026-07-11 21:40:57 +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 |
|
|
|
13031347cc
|
samples
|
2026-07-11 21:02:28 +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 |
|
|
|
a520251dab
|
feat: implement bulk file import functionality in AddSongSheet component
|
2026-04-09 14:13:58 +02:00 |
|
|
|
ab5eb69f7a
|
chore: add .dockerignore and update Dockerfile to use debian:trixie-slim
|
2026-04-09 13:39:38 +02:00 |
|
|
|
b1d778284c
|
feat(api): config from env vars (HOST, PORT, CORS_ALLOWED_ORIGINS, DATABASE_URL)
|
2026-04-09 01:23:10 +02:00 |
|
|
|
808ce287a5
|
chore: docker compose template for homeserver deployment
|
2026-04-09 01:20:03 +02:00 |
|
|
|
3605bef2b0
|
feat: add Dockerfile and implement SQLite persistence layer with repository pattern
|
2026-04-09 01:17:18 +02:00 |
|
|
|
dbb7cbd92f
|
fix: use var(--x) not hsl(var(--x)) for oklch theme vars, redesign fretboard with explicit string lines
|
2026-04-09 01:15:49 +02:00 |
|
|
|
ed669b2e3a
|
fix: larger black key dots, active note names list on piano
|
2026-04-09 01:07:39 +02:00 |
|
|
|
2964475df9
|
fix: piano readability + note labels, open chord voicings for guitar
|
2026-04-09 01:00:34 +02:00 |
|
|
|
544474c074
|
fix: double-sharp notes in PianoKeys, barre bar on E-shape chords
|
2026-04-09 00:50:51 +02:00 |
|
|
|
e9c2f7a5e0
|
feat: chord diagram — piano/guitar diagrams in song detail
|
2026-04-09 00:44:32 +02:00 |
|
|
|
e99b581a43
|
feat: tappable chord names in ChordChart, extractUniqueChords
|
2026-04-09 00:42:24 +02:00 |
|
|
|
ec7237e8c7
|
feat: ChordGrid component
|
2026-04-09 00:40:41 +02:00 |
|
|
|
3d56b71aa9
|
feat: ChordDiagram component
|
2026-04-09 00:40:36 +02:00 |
|
|
|
5a4d0ef648
|
feat: GuitarFretboard component
|
2026-04-09 00:39:43 +02:00 |
|
|
|
7653933f46
|
feat: PianoKeys component
|
2026-04-09 00:38:14 +02:00 |
|
|
|
90df2b36f2
|
feat: chord voicing theory layer
|
2026-04-09 00:36:08 +02:00 |
|
|
|
ac65be1bb9
|
feat: guitar voicing templates
|
2026-04-09 00:31:25 +02:00 |
|
|
|
aeb9dfff67
|
chore: add tonal + vitest
|
2026-04-09 00:28:19 +02:00 |
|
|
|
bb99f5964a
|
docs: chord diagram implementation plan
|
2026-04-09 00:26:16 +02:00 |
|
|
|
df90e610ef
|
docs: chord diagram feature spec
|
2026-04-09 00:14:04 +02:00 |
|
|
|
f80ed4e88a
|
feat(app): PWA manifest, persistent transpose, font size, capo toggle, library sort
|
2026-04-08 04:09:25 +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 |
|
|
|
41b9cb3d4c
|
feat: initialize project with .gitignore, LICENSE, README, and update dependencies
|
2026-04-08 03:56:28 +02:00 |
|
|
|
bef3bb8fed
|
feat(app): add dark/light theme switcher via next-themes
|
2026-04-08 03:56:05 +02:00 |
|
|
|
582bdbd901
|
refactor(app): extract previewChords to song-utils, simplify API_BASE, fix useEffect deps and cleanup
|
2026-04-08 03:53:44 +02:00 |
|
|
|
19829a0589
|
fix(app): reset edit sheet state on open, check deleteSong response status
|
2026-04-08 03:48:46 +02:00 |
|
|
|
8fc6e48aac
|
feat(app): add song edit and delete with dropdown menu
|
2026-04-08 03:46:56 +02:00 |
|
|
|
3a576f0018
|
feat(app): live server-side search with 300ms debounce and error state
|
2026-04-08 03:44:10 +02:00 |
|
|
|
65dd30df46
|
feat(app): add layout shell with bottom nav and Toaster
|
2026-04-08 03:42:13 +02:00 |
|
|
|
1936ced395
|
feat: add update_meta to SongRepositoryPort and PATCH /songs/{id}
|
2026-04-08 03:39:29 +02:00 |
|
|
|
6a3cdbe4c3
|
fix(persistence): extract row_to_summary helper, escape LIKE wildcards
|
2026-04-08 03:38:12 +02:00 |
|
|
|
377fe957bc
|
feat: add SongSearchService and GET /songs?q= search endpoint
|
2026-04-08 03:35:33 +02:00 |
|
|
|
c3b7cb78ab
|
docs: add search/nav/management implementation plan
|
2026-04-08 03:32:56 +02:00 |
|
|
|
7cd0c4aae1
|
docs: add search/nav/management/errors design spec
|
2026-04-08 03:28:36 +02:00 |
|
|
|
5390fe39e6
|
feat(app): wire frontend to real API, remove mock data and sessionStorage
|
2026-04-08 03:09:12 +02:00 |
|
|
|
8c0824c67c
|
feat(api): add song CRUD routes, wire SongService into AppState
|
2026-04-08 03:07:28 +02:00 |
|
|
|
0b47282547
|
feat(common): add SongService application layer
|
2026-04-08 03:05:50 +02:00 |
|