Files
post3/todos/POST3-004-s3-server-skeleton.md
2026-02-27 11:38:10 +01:00

21 lines
790 B
Markdown

# POST3-004: S3 HTTP server skeleton
**Status:** Done
**Priority:** P0
**Blocked by:** POST3-003
## Description
Build the post3-server binary with CLI (clap), state management, notmad component lifecycle, and axum router with all S3 routes wired up.
## Acceptance Criteria
- [ ] `main.rs` — dotenvy + tracing_subscriber + cli::execute()
- [ ] `cli.rs` — clap App with `serve` subcommand
- [ ] `cli/serve.rs` — ServeCommand with --host flag, starts notmad::Mad with S3Server
- [ ] `state.rs` — State struct (PgPool + Store), runs migrations on new()
- [ ] `s3/mod.rs` — S3Server implementing notmad::Component
- [ ] `s3/router.rs` — all 9 routes mapped to handler functions
- [ ] Server starts, binds to port, responds to requests
- [ ] `cargo check -p post3-server` passes