Cargo workspace with the entities/core/data/api/cli crate split: - entities: content-addressing (Sha256), ISBN-13, ids, domain types, DTOs - core: dedup upload orchestration, access-decision gating, Argon2id auth, catalog browse, and the data-access port traits - data: sqlx (Postgres, compile-time-checked, offline cache), aws-sdk-s3 (MinIO), epub parsing; implements the core ports - api: Axum /v1 (auth, upload, catalog, gated download, cover) - cli: operator commands (migrate, user, copyright, work, blob, session) Three-layer catalog (blob -> edition -> work) with content-addressed deduplication, copyright gating (public-domain open; in-copyright/unknown gated by ownership), and bookstore-style metadata visibility. Forward-compatible schema for later translation, narration, voice marketplace, and sales phases. Includes deployment assets (systemd, firewalld, nginx, sysusers, config template), Postgres + MinIO bootstrap, and an idempotent deploy.sh. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1.1 KiB
1.1 KiB