Library Management
Level: IntermediateConcepts: State Business Rules
Implement a library management system that handles book checkouts, returns, and reservations. The system should manage book inventory, track due dates, and handle various library policies.
Requirements
- Manage book inventory
- Add and remove books
- Track book status (available, checked out, reserved)
- Handle multiple copies of the same book
- Manage book categories and locations
- Handle checkouts and returns
- Process book checkouts
- Track due dates
- Handle late returns
- Calculate fines
- Manage reservations
- Place and cancel reservations
- Notify when reserved books are available
- Handle reservation queues
- Expire old reservations
Hint
Start by implementing the basic book management functionality, then add checkout and reservation features. Consider using a state machine to track book status. Think about:
- Data consistency and validation
- Concurrent access handling
- Business rule enforcement
- Error handling and edge cases
Bonus
- Implement a patron management system
- Add support for different types of library materials
- Create a recommendation system
- Implement a search and filtering system
- Add support for e-books and digital content