Консольний-бот помічник для керування контактами та нотатками
Застосунок складається з двох основних модулів:
- Адресна книга (Address Book): збереження імен, номерів телефонів, електронної пошти, фізичних адрес та днів народження.
- Нотатник (Notes): збереження текстових нотаток із можливістю додавання тегів, пошуку та сортування.
Особливості
- Інтерактивний інтерфейс командного рядка (CLI) з автодоповненням команд (через клавішу
Tab). - Кольоровий вивід: зелений (успіх), червоний (помилка), жовтий (попередження), блакитний (інфо).
- Табличний вивід контактів та днів народження.
- Підказка найближчої команди при помилці введення.
- Підтвердження перед деструктивними діями (видалення контактів, нотаток).
- Динамічний prompt з кількістю записів:
[N contacts, M notes] >>>. - Валідація введених даних (формат телефону, email, дати народження).
- Надійне збереження даних на жорсткий диск.
- Повне покриття коду автоматизованими тестами — 73 тести (
pytest).
Для роботи програми потрібен Python 3.10 або вище.
- Склонуйте репозиторій на свій комп'ютер:
git clone <посилання_на_репозиторій>
- Перейдіть у папку проекту:
cd finalproject-python
- Встановіть необхідні залежності:
pip install -r requirements.txt
Щоб запустити помічника, виконайте команду в терміналі:
python main.py
| Команда | Опис |
|---|---|
add-contact <name> [phone] |
Додати новий контакт (або телефон до існуючого) |
all-contacts |
Показати всі контакти |
find-contact <query> |
Знайти контакт за ім'ям/телефоном/email/адресою |
show-phone <name> |
Показати телефони контакту |
change-phone <name> <old> <new> |
Змінити номер телефону |
add-birthday <name> <DD.MM.YYYY> |
Додати день народження |
show-birthday <name> |
Показати день народження контакту |
birthdays [days] |
Показати дні народження на найближчі days днів (за замовчуванням 7) |
add-email <name> <email> |
Додати електронну пошту |
add-address <name> |
Додати фізичну адресу до контакту |
delete-contact <name> |
Видалити контакт |
clear-contacts |
Видалити всі контакти |
| Команда | Опис |
|---|---|
add-note |
Створити нотатку |
all-notes |
Показати всі нотатки |
find-note <query> |
Знайти нотатки за текстом |
edit-note <id> |
Редагувати нотатку |
delete-note <id> |
Видалити нотатку |
add-tag <id> <tag> |
Додати тег |
remove-tag <id> <tag> |
Видалити тег |
find-tag <tag> |
Знайти за тегом |
sort-notes-by-tags |
Сортувати за тегами |
clear-notes |
Видалити всі нотатки |
| Команда | Опис |
|---|---|
clear-all |
Видалити всі контакти та нотатки |
help |
Показати список команд |
exit / close |
Зберегти дані та вийти |
[Iryna/Iryna1106] - розробка моделі нотаток, інтеграція prompt_toolkit, CLI-меню; [Gryhorii/GrigoriFil] - розробка адресної книги, валідація даних, файлове сховище.