A command-line Library Management System built in Python. The application allows users to manage a collection of books by adding, viewing, searching, updating, removing, borrowing, and returning books. Book information is stored persistently using JSON, providing a complete CRUD-based CLI application.
- Add new books
- View all books
- Search books by:
- Title
- Author
- ISBN
- Year
- Availability
- Update book information
- Remove books
- Borrow books
- Return books
- JSON data persistence
- Input validation
- Python
- Dataclasses
- JSON
- File Handling
- Custom Utility Package
- CRUD application development
- Dataclasses
- JSON persistence
- Input validation
- Data modeling
- State management
- Modular architecture
- Code reuse
- Software design
- Debugging control flow
Project 8 CLI Library Management System/
├── main.py
├── manager.py
├── README.md
└── my_package/
├── __init__.py
├── file_utilities.py
├── json_utilities.py
└── text_utilities.py
- Make sure Python 3 or later is installed.
- Open the project folder.
- Run:
python main.py- CLI application development
- CRUD operations
- JSON file management
- Dataclass usage
- Searching and updating data
- Defensive programming
- Modular programming
- Data validation
- Stores data in JSON instead of a database.
- Single-user application.
- Limited validation for book information.
- No automated testing.
- No logging system.
- Improve code refactoring.
- Reduce duplicated logic.
- Better availability management.
- Enhanced search capabilities.
- Export library data.
- Add automated tests.
- How to design a complete CRUD application.
- How to model application data using dataclasses.
- How to persist application state using JSON.
- How to identify duplicated logic and opportunities for refactoring.
- How application complexity increases as multiple features interact.
Approximately 192 minutes
Vaibhav Kumar