Skip to content

redajabar-404/Book-manager

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

2 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ“š Book Manager CLI

πŸ–₯️ A terminal app to manage your personal book collection β€” add, search, rate, and track reading status. Zero external dependencies.


πŸ“– Manage

Full control over your library from the terminal. Add books with a required title and optional author, year, and genre. Add multiple books at once by comma-separated titles. Edit any field later, or delete what you don't need.

πŸ” Search

Find any book in seconds. Search by title, author, or genre β€” with 3 modes: contains, starts with, or exact match.

⭐ Rate

Remember your opinion on every book. Rate from 1 to 5, sort highest or lowest, and see which books you haven't rated yet. Toggle reading status between "read" and "unread" with one click.

🎨 Display

Your library, beautifully presented. A color-coded table β€” green for read, yellow for unread β€” with quick stats: how many books you've read and how many remain.

πŸ’Ύ Save

Automatic safety. Everything is saved to a JSON file after every action β€” and loaded automatically when you start the app. No manual "Save" button needed.


πŸš€ Get started

git clone https://github.com/redajabar-404/Book-manager.git
cd Book-manager
python app.py

πŸ“Œ Requirements: Python 3.10+ only β€” no pip install needed.

Menu

1. Add a book          6. Rate a book
2. View all books      7. Toggle read/unread
3. Search books        8. View by rating
4. Edit a book         9. Add multiple books
5. Delete a book       10. Exit

βœ… Run tests

python -m unittest test_app.py -v

40 tests covering every function in the app β€” all passing.

🧰 Tech stack

dataclasses Β· json Β· uuid Β· typing Β· unittest β€” all from the Python standard library, zero external dependencies.

πŸ“œ License

MIT β€” use, modify, and distribute freely.


⭐ If you like this project, don't forget to star it β€” it keeps us motivated to add more features!

About

πŸ“– A minimalist Python CLI for managing your book collection β€” add, search, rate, track reading status, and edit books with persistent JSON storage and a colorful terminal UI. No dependencies. Just Python.

Topics

Resources

License

Stars

1 star

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages