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