Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

40 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Personal Assistant (CLI)

Консольний-бот помічник для керування контактами та нотатками

Основні можливості

Застосунок складається з двох основних модулів:

  1. Адресна книга (Address Book): збереження імен, номерів телефонів, електронної пошти, фізичних адрес та днів народження.
  2. Нотатник (Notes): збереження текстових нотаток із можливістю додавання тегів, пошуку та сортування.

Особливості

  • Інтерактивний інтерфейс командного рядка (CLI) з автодоповненням команд (через клавішу Tab).
  • Кольоровий вивід: зелений (успіх), червоний (помилка), жовтий (попередження), блакитний (інфо).
  • Табличний вивід контактів та днів народження.
  • Підказка найближчої команди при помилці введення.
  • Підтвердження перед деструктивними діями (видалення контактів, нотаток).
  • Динамічний prompt з кількістю записів: [N contacts, M notes] >>>.
  • Валідація введених даних (формат телефону, email, дати народження).
  • Надійне збереження даних на жорсткий диск.
  • Повне покриття коду автоматизованими тестами — 73 тести (pytest).

Встановлення

Для роботи програми потрібен Python 3.10 або вище.

  1. Склонуйте репозиторій на свій комп'ютер:

git clone <посилання_на_репозиторій>

  1. Перейдіть у папку проекту:

cd finalproject-python

  1. Встановіть необхідні залежності:

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] - розробка адресної книги, валідація даних, файлове сховище.

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages