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)
This commit is contained in:
2026-07-11 21:02:10 +02:00
parent a520251dab
commit d13df586dd
74 changed files with 1493 additions and 1076 deletions

View File

@@ -1,10 +1,10 @@
FROM rust:1.92 AS builder
FROM rust:1.97 AS builder
WORKDIR /app
COPY . .
# Build the release binary
RUN cargo build --release -p api
RUN cargo build --release -p presentation
FROM debian:trixie-slim
@@ -17,7 +17,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
libsqlite3-0 \
&& rm -rf /var/lib/apt/lists/*
COPY --from=builder /app/target/release/api .
COPY --from=builder /app/target/release/presentation .
# Create data directory for SQLite
@@ -27,4 +27,4 @@ ENV DATABASE_URL=sqlite:///app/data/pocket-chords.db
EXPOSE 8000
CMD ["./api"]
CMD ["./presentation"]