Personal Assistant is a command-line application designed to help users manage their contacts and notes efficiently. It allows storing, searching, editing, and deleting contact details and notes while ensuring data integrity and easy access.
- Add new contacts with names, addresses, phone numbers, emails, and birthdays.
- Search contacts by name, phone number, or other details.
- Edit and delete contacts.
- Display a list of contacts with upcoming birthdays within a specified number of days.
- Validate phone numbers and email addresses upon input.
- Add, edit, delete, and search for notes.
- Assign tags to notes for easy categorization.
- Search and sort notes by tags.
- All data (contacts, notes) is stored persistently on the user's local drive.
- The application can be restarted without data loss.
- The assistant attempts to analyze user input and suggest the most relevant command based on context.
local:
bash pip install .
test.PyPI:
bash pip install --index-url https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple/ NotebookBot
start:
bash f4-notebook
- Python 3.12+
-
Clone the Repository:
git clone https://github.com/Filip-Povidernyi/Attention_notebook_bot.git
-
Navigate to the Project Directory:
cd personal-assistant -
Set Up a Virtual Environment:
- For Windows:
python -m venv .venv .\.venv\Scripts\activate
- For macOS/Linux:
python3 -m venv .venv source .venv/bin/activate
- For Windows:
-
Install Dependencies:
pip install -r requirements.txt -
Run the Application:
python bot-code/main.py
Execute the following command in the project root directory to build the Docker image:
docker build -t icxodnik988/f4-notebook .Then deploy the image to the dockerhub repository:
[!NOTE] You need to be logged in to push the image to the repository.
docker push icxodnik988/f4-notebook[!NOTE] This is a alternative to install the package as an application using pip. To run the application using Docker, you need to have Docker installed on your machine. Just run the image from the public dockerhub repository:
docker run -it -v f4-notebook:/app/db icxodnik988/f4-notebookcontacts (1): "Go to Contacts Book",notes (2): "Go to your Notes",vnotes (3): "Go to your Notes (UI)",help (4): "Show this help",exit (0): "Exit the application"
add (1): "Add a new contact",delete (2): "Delete a contact",show-all (3): "Show all contacts",edit (4): "Edit contact name, phone, etc.",find (5): "Find a contact",birthdays (6): "Show upcoming birthdays",help (7): "Show this help",back (0): "Go back to the main menu"
add (1): "Add a new note (add )",view (2): "View a note (view )",search (3): "Search for a notes (search )",edit (4): "Edit a note (edit )",delete (5): "Delete a note (delete )",add_tag (6): "Add a tag to a note",remove_tag (7): "Remove a tag from a note",view_tags (8): "View tags of a note",search_tag (9): "Search notes by tag (search_tag )",sort_by_tags (10): "Sort notes by number of tags",help (11): "Show this help",back (0): "Go back to the main menu"
- Use the
helpcommand to view details about command usage. - Ensure that the
requirements.txtfile is up to date. - Keep your Python version compatible with the specified requirements to avoid issues.
Contributions are welcome! If you'd like to improve the project, feel free to fork the repository, make changes, and submit a pull request.
This project is licensed under the MIT License.