- Name: pyCliAddressBook
- Main idea of the project: creating a personal assistant with a command line interface
- Deadline: MVP - 3 days, Prod - 2 days, presentation - 1 day
- Stack of technologies used: OOP, functional programming, Pylint, GitHub, git, Trello, Agile, Debugging, Profiling
- @Yurii Skiter Team Lead, Dev
- @Valerii Sydorenko PM, Dev
- @Dmytro Levoshko Scrum Master, Dev
- save contacts with names, addresses, phone numbers, emails and birthdays to the contact book [add]
- checking the correctness of the entered phone number and email when creating or editing a record, notifying the user in case of incorrect entry (validator function)
- search for contacts from the contact book, view all contacts, find contacts by any field [search, view_all, find]
- edit and delete entries from the contact book, reset all contacts [update, delete, reset]
- display a list of contacts who have a birthday in a specified number of days from the current date [sort_birthday]
- save notes with text information [add_notes]
- searching by notes [search_notes]
- edit and delete notes, reset all notes [update_notes, delete_notes, reset_notes]
- add "tags" to the notes, keywords that describe the topic and subject of the record [add_notes]
- search and sort notes by keywords (tags) [search_notes]
- sorting files in the specified folder by category (images, documents, videos, etc.) [file_sort]
- call documentation in interactive mode [help]
- completion of the program [exit]
- The bot analyzes the entered text and tries to guess what the user wants from it and offers the nearest command for execution
- The bot can be called anywhere in the system with the assistant command (after installing the package)
- personal assistant stores information on the hard drive in the user folder and can be restarted without data loss
- experience in planning and task setting
- experience in the development of OOP principles and functional programming
- experience of working with Trello
- experience in the position of Team lead, Scrum master, PM team
- team collaboration and work with Git
- project branching and merging skills
- conflict resolution after the merger of branches
- project presentation experience
Refactors, accessibility
Install project with pip
pip install --index-url https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple pyCliAddressBook==1.0.22
Clone the project
git clone https://github.com/yuragoit/pyCliAddressBook
Go to the project directory
cd pyCliAddressBook
Install dependencies
pip install python-dateutil
pip install rich
pip install prompt-toolkit
pip install phonenumbers
Start assistant from file
py main.py
Then use contextual commands with appropriate prompts in the interactive mode of the terminal
>> assistant
Then use contextual commands with appropriate prompts in the interactive mode of the terminal
This project is used by the following companies:
- LLC GoIT