Commit Graph
13 Commits
Author SHA1 Message Date
mroberts 35ad0b13e2 docs: add README with run, test, and design notes
Claude-Session: https://claude.ai/code/session_01M9MLit5Ko3X4s7rzC5Kv7X
2026-10-02 14:30:00 -05:00
mroberts 9e247b6f06 feat: add reading journal to book detail
Claude-Session: https://claude.ai/code/session_01M9MLit5Ko3X4s7rzC5Kv7X
2026-10-02 14:27:48 -05:00
mroberts 18bc74f8f9 feat: add create and edit book form
Claude-Session: https://claude.ai/code/session_01M9MLit5Ko3X4s7rzC5Kv7X
2026-10-02 14:26:30 -05:00
mroberts da6c5c2de5 feat: add book detail with progress updates and delete
Claude-Session: https://claude.ai/code/session_01M9MLit5Ko3X4s7rzC5Kv7X
2026-10-02 14:25:17 -05:00
mroberts f0efa25f23 feat: add sign-in flow, routing shell, and searchable book list
Pin @testing-library/jest-dom to ~6.9.1 (6.10.0 is npm-deprecated).

Claude-Session: https://claude.ai/code/session_01M9MLit5Ko3X4s7rzC5Kv7X
2026-10-02 14:23:42 -05:00
mroberts e1096da1a7 feat: add per-book reading journal notes
Claude-Session: https://claude.ai/code/session_01M9MLit5Ko3X4s7rzC5Kv7X
2026-10-02 14:21:26 -05:00
mroberts c7a6cae714 test: cover search escaping, genre filter, and isolation
Claude-Session: https://claude.ai/code/session_01M9MLit5Ko3X4s7rzC5Kv7X
2026-10-02 14:19:41 -05:00
mroberts 6447251914 feat: add per-user books CRUD with progress and genres
Claude-Session: https://claude.ai/code/session_01M9MLit5Ko3X4s7rzC5Kv7X
2026-10-02 14:17:46 -05:00
mroberts d8d71bf942 feat: add register/login/logout with revocable server-side sessions
Claude-Session: https://claude.ai/code/session_01M9MLit5Ko3X4s7rzC5Kv7X
2026-10-02 14:15:24 -05:00
mroberts 7c09154b76 feat: add peppered PBKDF2 password hashing
Implements password hashing with PBKDF2-SHA256 and pepper-based additional security.
Includes password verification, rehash detection, and pepper loading from environment
or file.

Claude-Session: https://claude.ai/code/session_01M9MLit5Ko3X4s7rzC5Kv7X
2026-10-02 14:13:40 -05:00
mroberts b15448f109 feat: scaffold Flask + React app with schema and JSON error handling
Claude-Session: https://claude.ai/code/session_01M9MLit5Ko3X4s7rzC5Kv7X
2026-10-02 14:11:37 -05:00
mroberts 02d4598697 docs: add implementation plan; fix session cap and genre seed in spec
Session validation now also checks created_at so the 12-hour cap holds
while expires_at is still in the future. Genre seed avoids ON CONFLICT,
which burns SMALLSERIAL values on every startup.
2026-10-02 13:59:50 -05:00
mroberts de38590f46 docs: add book tracker design spec and auth ADRs
Spec covers data model, API, auth, frontend, error handling, and testing.
ADR-0001 records PBKDF2 + pepper (FIPS) over argon2; ADR-0002 records
revocable server-side sessions over Flask's signed cookie.
2026-10-02 13:38:46 -05:00