Skip to content

conorgregson/reading-log-app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

68 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

πŸ“š Readr - Turn pages into progress

Live Demo Docs Made with JavaScript License: GPL v3

Minimal, offline-first reading log with JSON backup/import, security policy, and contributor-friendly docs.

πŸ”— Full Documentation β†’


Live Demo

β–Ά Try it now: https://conorgregson.github.io/reading-log-app/

Data is saved locally in your browser via localStorage and is separate from your local dev data.


πŸ“‘ Table of Contents


ℹ️ About

Readr is a lightweight, browser-based reading log. Built with vanilla JavaScript, HTML, and CSS, it helps you track your books without external accounts, sync, or setup.


βœ… Features

πŸ“š Book Management

  • Add, edit, and remove books from your library
  • Track reading status (Planned, In Progress, Finished)
  • Organize and browse with search, filters, and saved search presets

πŸ“ Reading Sessions & Goals

  • Log reading sessions with minutes and optional notes
  • Daily & weekly goals with progress tracking
  • Automatic streak calculation and reading summaries
  • Keyboard shortcut to jump straight to Session History search

πŸ”„ Backup & Import

  • Export your full reading data (books + sessions) as JSON
  • Import backups with validation and auto-normalization
  • Import error handling for malformed or outdated data

πŸ“Š Reading Statistics (New in v1.9.0)

  • Per-day trend chart showing your reading activity over time
  • Top Books chart (minutes/pages read per book)
  • Both charts include accessible text summaries for screen-reader users
  • Charts update instantly when sessions change

πŸ–ΌοΈ Shareable Snapshot (New in v1.9.0)

  • Generate a clean progress snapshot card
  • Export snapshot to PNG for sharing
  • Theme-aware visuals (light/dark mode)
  • Dynamic logo switching for contrast
  • Shows trends, books completed, streaks, and total reading time

πŸŽ–οΈ Badges

  • 12 built-in achievement badges
  • Live-updating β€œX of 12 unlocked” summary
  • Primary-color highlight for unlocked badges
  • Accessible announcements when new badges are earned

β™Ώ Accessibility

  • ARIA live regions for charts, badges, Snapshot, and search
  • Keyboard navigation and improved focus handling
  • High-contrast visuals in dark & light themes

πŸ’Ύ Data Persistence

  • Fully offline
  • All reading data stored in localStorage

πŸ› οΈ Tech Stack

  • Frontend: HTML, CSS, Vanilla JS
  • Storage: LocalStorage + JSON import/export

πŸ—ΊοΈ Roadmap

Feature: Add/Edit Feature: Backup Feature: LocalStorage

Planned: Search Planned: Tags Planned: API%20Integration

See the full Roadmap for milestones and timelines.


πŸš€ Installation & Usage

  1. Clone the repository

    git clone https://github.com/conorgregson/reading-log-app.git
    cd reading-log-app
  2. Open the app Simply open the index.html file in your browser.

    • No build steps or dependencies required.
    • Works entirely offline with localStorage.
  3. Start using the app

    • Add, edit, or remove books from your log.
    • Track your reading progress and completion.
    • Backup and import your log as JSON files

πŸ”„ What's New in v1.9.0 β€” Visualization & Motivation

Readr v1.9.0 introduces the first major step toward visual insights and motivation-driven reading. This update adds charts, shareable progress snapshots, keyboard shortcuts, and meaningful accessibility upgrades.

πŸ“Š Reading Statistics (New)

  • Per-day reading trend chart with accessible text summaries
  • Top Books chart showing reading time distribution across finished books
  • Charts automatically update when sessions change
  • Fully keyboard-accessible and screen-reader-friendly

πŸ–ΌοΈ Shareable Snapshot (New)

  • Export a PNG snapshot of your reading progress
  • Theme-aware visuals (light/dark mode supported)
  • Displays trend summary, streak, books count, and reading totals
  • Dynamic logo that adapts to current theme for clean exports

πŸŽ–οΈ Badge Improvements

  • Badge summary (β€œX of 12 badges unlocked”) updates live
  • Unlocked badges now highlight correctly with primary color
  • Improved contrast and readability across both themes
  • Accessibility support for badge unlock announcements

⌨️ Productivity & A11y Enhancements

  • Keyboard shortcut to jump directly to Session History search
  • Help hint under the log form when shortcuts are enabled
  • ARIA live regions for charts, Snapshot trend text, and badges summary
  • Snapshot theming fixed so it always matches current appearance mode

πŸ“Έ Screenshots

Updated for v1.6.0 β€” Search & Filters

Main UI

Main UI

Goals & Sessions

Goals & Sessions

Books List (populated)

Books List

Bulk Edit Dialog

Bulk Edit

Dark Mode

Dark Mode

Settings Dropdown

Settings Dropdown

Search & Filters

Search & Filters

Multi-Select Filters

Multi-Select Filters

Saved Searches

Saved Searches

Search Results Example

Search Results

Installed App View

Installed App


πŸ“– Documentation

Full project documentation is available in the /docs folder:


🀝 Contributing

Contributions, issues, and feature requests are welcome!

Quick start for contributors:

  1. Fork the repo
  2. Create your feature branch (git checkout -b feature/my-feature)
  3. Commit your changes (git commit -m "feat: add my feature")
  4. Push to branch (git push origin feature/my-feature)
  5. Open a Pull Request

πŸ“§ Author

Made by Conor Gregson


πŸ“œ License

This project is licensed under the GNU General Public License v3.0 (GPL-3.0). See the LICENSE file for details

About

Offline-first reading tracker built with vanilla JS. Evolved across 9 versions and later migrated into a full-stack system (Readr v2).

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors