Консольное приложение для управления библиотекой, реализованное в рамках тестового задания.
Python 3.12.3
Необходимо запустить файл main.py через интерпретатор Python (рекомендуется версия 3.12.3+).
- Создание книг
- Отображение списка всех книг
- Поиск книг по частичному названию/частичному автору/году издания (условия можно комбинировать; например, выполнив поиск по автору и названию).
- Списки книг поддерживают пагинацию и изменяемый размер страницы
- Поиск книги по ID
- Из списка книг или в результате поиска по ID открывается меню управления отдельной книгой
- Изменение статуса выбранной книги (из меню отдельной книги)
- Удаление выбранной книги (из меню отдельной книги)
- Хранение данных в виде json-файла
- Автосохранение данных при выходе/исключении в приложении/SIGTERM/SIGABRT.
- Возможность отмены ввода через KeyboardInterrupt (Ctrl + C).
- ООП
- Система меню на основе классов (модули modules.menu.*)
- Unit-тесты (tests/*)
- Механизм событий (подписка, отписка, вызов) с поддержкой слабых методов классов (без сильной ссылки на класс) (модуль modules.events)