PageVault

Your private book universe.
No cloud required.

PageVault is a local, self-hosted Goodreads alternative with barcode scanning, shelves, tags, half-star ratings, CSV portability, a Plotly-powered analytics dashboard with 20+ charts, reading streaks, activity heatmaps, and robust multi-provider metadata lookup โ€” all 100% private, no cloud required.

CI passing Python 3.10+ Flask 3.x SQLite MIT License v1.4.0 Coverage โ‰ฅ 75% Docker ready

Highlights

๐Ÿ“ท ISBN Scan & Add

Scan from phone camera or enter ISBN manually with live metadata preview.

๐Ÿ—‚๏ธ Shelves + Tags

Organize books with multi-shelf assignment and interactive genre chips.

๐Ÿ”Ž Smart Filters

Filter by status, author, shelf, genre, or full-text query.

๐Ÿ“Š 20+ Analytics Charts

Status, genres, authors, ratings, formats, publishers, community vs personal ratings, decade distribution, and monthly trends โ€” all filterable by date, format, and language.

โญ Half-Star Ratings & Quotes

Rate books in 0.5-star increments, write review notes, and save favourite quotes with page numbers.

๐Ÿ”„ Metadata Refresh

Bulk refresh metadata while preserving your reviews, shelves, and custom tags.

๐Ÿ“ค๐Ÿ“ฅ CSV Portability

Export full library and import Goodreads-compatible CSVs.

๐ŸŽฏ Goals, Sessions & Streaks

Set annual reading targets, log sessions with page counts and time, and track your reading streak and speed.

๐Ÿ”ฅ Activity Heatmap

GitHub-style 52-week reading calendar โ€” see exactly when and how much you read at a glance.

๐Ÿ“š Series & Reading History

Track series name and number, log re-reads with dates, and record book format, DNF status, and owned/wishlist state.

๐Ÿ“ฑ Mobile QR Connect

Scan a QR code on your home screen to open PageVault instantly on your phone โ€” no typing required.

๐Ÿ”ฎ Local Recommendations

Get book suggestions based on your existing library, entirely offline.

๐Ÿ” Admin Console

Secure admin panel with password protection for diagnostics, backup, and restore operations.

๐Ÿงฏ Backup & Restore

One-click ZIP backup download, archive validation, and in-app restore workflow.

๐Ÿง  Metadata Fallback Chain

  • Open Library Books API (primary)
  • Google Books + Open Library Search + Crossref (parallel fallback)
  • Open Library Covers API (cover rescue)
  • In-memory ISBN TTL cache for faster bulk operations

๐Ÿš€ Quick Start

  • Clone: git clone https://github.com/ChristianAbele02/PageVault.git
  • Install: pip install .
  • Run: python app.py
  • Library: http://localhost:5000
  • Stats: http://localhost:5000/stats

๐Ÿงฐ Core Files

  • App: app.py โ€” factory, wiring, entrypoint
  • API: pagevault_core/api.py โ€” all REST routes
  • DB: pagevault_core/db.py โ€” SQLite lifecycle + schema bootstrap
  • Metadata: pagevault_core/metadata.py โ€” multi-provider lookup + TTL cache
  • Database: pagevault.db โ€” your entire library in one file

๐Ÿ›ก๏ธ Data Safety

  • Your full library lives in a single file: pagevault.db
  • Back it up manually or use the in-app backup/restore flow
  • Admin password is random per session unless PAGEVAULT_ADMIN_PASSWORD is set
  • Coverage gate enforced in CI โ€” must stay above 75%

Portfolio Value

๐Ÿงฉ Full-stack scope

Design + UX, Flask API, SQLite data model, Docker deployment, and CI quality gates in one cohesive project.

๐Ÿ“ˆ Product analytics

20+ Plotly charts including reading heatmap, genre trends by year, speed per book, rating trends, time-to-finish, loan tracking, shelf breakdown, and more โ€” with date, format and language filtering.

๐Ÿงช Engineering quality

Comprehensive automated tests and linting support stable iteration while shipping substantial product features quickly.

Example Renders (Light + Dark)

Library Grid
Light
PageVault light library view with The Great Gatsby progress
Dark
PageVault dark library view with The Great Gatsby progress
Book covers, status badges, and progress bars directly in the shelf view.
Book Detail
Light
PageVault light detail view with multi-rating timeline and reading progress
Dark
PageVault dark detail view with multi-rating timeline and reading progress
Detailed view with notes, multi-review timeline, and current-page progress updates.
Import / Export
Light
PageVault light CSV import and metadata refresh summary
Dark
PageVault dark CSV import and metadata refresh summary
Goodreads-compatible CSV workflow and metadata refresh suited for real-world migration.
About
Built and maintained by Christian Abele.
Made with love for my wife Emili. โค๏ธ