๐ท ISBN Scan & Add
Scan from phone camera or enter ISBN manually with live metadata preview.
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.
Scan from phone camera or enter ISBN manually with live metadata preview.
Organize books with multi-shelf assignment and interactive genre chips.
Filter by status, author, shelf, genre, or full-text query.
Status, genres, authors, ratings, formats, publishers, community vs personal ratings, decade distribution, and monthly trends โ all filterable by date, format, and language.
Rate books in 0.5-star increments, write review notes, and save favourite quotes with page numbers.
Bulk refresh metadata while preserving your reviews, shelves, and custom tags.
Export full library and import Goodreads-compatible CSVs.
Set annual reading targets, log sessions with page counts and time, and track your reading streak and speed.
GitHub-style 52-week reading calendar โ see exactly when and how much you read at a glance.
Track series name and number, log re-reads with dates, and record book format, DNF status, and owned/wishlist state.
Scan a QR code on your home screen to open PageVault instantly on your phone โ no typing required.
Get book suggestions based on your existing library, entirely offline.
Secure admin panel with password protection for diagnostics, backup, and restore operations.
One-click ZIP backup download, archive validation, and in-app restore workflow.
git clone https://github.com/ChristianAbele02/PageVault.gitpip install .python app.pyhttp://localhost:5000http://localhost:5000/statsapp.py โ factory, wiring, entrypointpagevault_core/api.py โ all REST routespagevault_core/db.py โ SQLite lifecycle + schema bootstrappagevault_core/metadata.py โ multi-provider lookup + TTL cachepagevault.db โ your entire library in one filepagevault.dbPAGEVAULT_ADMIN_PASSWORD is setDesign + UX, Flask API, SQLite data model, Docker deployment, and CI quality gates in one cohesive project.
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.
Comprehensive automated tests and linting support stable iteration while shipping substantial product features quickly.