A clean, modern web application designed to help track and manage your reading list. This project has evolved from a simple Python command-line script into a full-stack web application featuring a Flask REST API backend and a responsive HTML/CSS/JS frontend.
It tracks books across three distinct categories: Completed, Currently Reading, and Planned.
- Auto-Launch: The application automatically opens your default web browser when started.
- Kanban-style Tracking: View your books categorized into three clear columns.
- REST API Backend: Uses Python Flask to handle data requests (GET, POST).
- State Management: Move books between statuses (e.g., from Planned to Reading) using an intuitive dropdown menu.
- Persistent Data: All data is automatically saved to local text files (
.txt) in aBook Logsdirectory.
- Backend: Python 3, Flask, Flask-CORS
- Frontend: HTML5, CSS3, Vanilla JavaScript (Fetch API)
- Data Storage: Plain Text Files (Flat-file storage)
You need Python 3.x installed on your system.
Clone the repository and navigate to the project root:
git clone https://github.com/Wiruden/BookLogger
cd BookLoggerYou will need to install Flask and Flask-CORS:
pip install flask flask-corsNavigate to the python directory and start the script. This will start the local server and automatically launch the GUI in your web browser.
cd python
python app.pyYou should see a message in the terminal saying "Server is running on port 5000..." and your browser will pop up automatically.
- Add a Book: Type a book title in the input box at the top and click "Log Book". It will appear in the "Planned" column.
- Manage a Book: Click the pencil icon (✎) next to any book title to open the action menu.
- Move: Select a new category (e.g., "Move to Reading") to transfer the book.
- Delete: Remove the book permanently from your logs.
- Data Persistence: You can close the browser or stop the server; your data remains saved in the
python/Book Logsfolder.
BookLogger/
│
├── python/ # Backend Logic
│ ├── app.py # The Flask API (handles auto-launch)
│ └── Book Logs/ # Generated automatically
│ ├── Completed_Books_Log.txt
│ ├── Reading_Books_Log.txt
│ └── Planned_Books_Log.txt
│
├── website/ # Frontend Interface
│ ├── index.html # Main webpage
│ ├── style.css # Styling
│ └── script.js # API connections
│
├── .gitignore
└── README.md
- Executable Creation: Bundle into a
.exeusing Auto-Py-To-Exe for simpler distribution. - Database Integration: Migrate from
.txtfiles to SQLite. - Book Metadata: Integrate with Google Books API for cover art.
Created by Wiruden