Python console-based, menu-driven app that allows its user to manage movie rental services.
- add, delete, update, filter clients and movies
- add and return rentals
- get statistics about movies, clients and rentals
- undo/redo any operation (efficient implementation, using reverse operations)
- layered architecture
- object-oriented programming
- test-driven development with PyUnit testing (over 90% coverage of non-UI modules)
- file persistence
- input validation
- custom exceptions