Bookshelf — web app to manage books to read (like a watchlist for books) #1

Open
opened 2026-08-23 11:10:14 +02:00 by gaetan · 0 comments
Owner

Destination

A self-hosted, single-user web app for managing a personal book watchlist. Built in Go, served via Docker. Users can add books (via Google Books API search or manual entry), track status (want to read / reading / read), log reading progress, and rate/review books they've finished. Clean UI with PicoCSS, JSON API alongside HTML templates, session-based auth.

Notes

  • Domain model: see CONTEXT.md at repo root
  • Tech stack: Go + chi + templ + PicoCSS + SQLite + Docker
  • Google Books API for book metadata lookup
  • Session-based authentication (one password, session cookie)
  • JSON API alongside HTML templates for future-proofing
  • Progress tracking: current page / total pages
  • ISBN-based deduplication
  • Status transitions: Reading→Read prompts for rating/review; Want to read→Reading auto-sets total pages; Any→Want to read resets progress
  • Tags are user-created labels; genres come from metadata source
  • Search: case-insensitive, partial match on title/author
  • Filter by status; sort by date added, date started, date finished, rating
  • Single Docker container serving API + templates

Decisions so far

Not yet specified

  • Frontend build pipeline (templ generation + CSS bundling)
  • Data export/import format (JSON? CSV?)
  • Error pages and 404 handling
  • Pagination strategy for large libraries
  • Reading streak / gamification (if any)

Out of scope

  • Multi-user support
  • Social features (sharing, reviews visible to others)
  • Custom shelves beyond the three status buckets
  • Mobile app (native or PWA)
## Destination A self-hosted, single-user web app for managing a personal book watchlist. Built in Go, served via Docker. Users can add books (via Google Books API search or manual entry), track status (want to read / reading / read), log reading progress, and rate/review books they've finished. Clean UI with PicoCSS, JSON API alongside HTML templates, session-based auth. ## Notes - Domain model: see CONTEXT.md at repo root - Tech stack: Go + chi + templ + PicoCSS + SQLite + Docker - Google Books API for book metadata lookup - Session-based authentication (one password, session cookie) - JSON API alongside HTML templates for future-proofing - Progress tracking: current page / total pages - ISBN-based deduplication - Status transitions: Reading→Read prompts for rating/review; Want to read→Reading auto-sets total pages; Any→Want to read resets progress - Tags are user-created labels; genres come from metadata source - Search: case-insensitive, partial match on title/author - Filter by status; sort by date added, date started, date finished, rating - Single Docker container serving API + templates ## Decisions so far <!-- none yet — map just created --> ## Not yet specified - Frontend build pipeline (templ generation + CSS bundling) - Data export/import format (JSON? CSV?) - Error pages and 404 handling - Pagination strategy for large libraries - Reading streak / gamification (if any) ## Out of scope - Multi-user support - Social features (sharing, reviews visible to others) - Custom shelves beyond the three status buckets - Mobile app (native or PWA)
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
gaetan/Argus#1
No description provided.