{"id":20754815,"url":"https://github.com/lexhouk/goit-pyweb-hw-02","last_synced_at":"2025-05-11T06:31:20.027Z","repository":{"id":244544545,"uuid":"815056730","full_name":"lexhouk/goit-pyweb-hw-02","owner":"lexhouk","description":"Модуль 2. Python Development","archived":false,"fork":false,"pushed_at":"2024-06-15T12:19:29.000Z","size":11,"stargazers_count":0,"open_issues_count":2,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-06-15T14:38:17.997Z","etag":null,"topics":["colorama","colorama-librairy","docker","docker-image","dockerfile","goit","goit-pyweb-hw-02","pip","pip3","poetry","poetry-python","python-virtual-environment","studying"],"latest_commit_sha":null,"homepage":"https://www.edu.goit.global/uk/learn/21196455/24556365/24556501/homework","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lexhouk.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-06-14T08:59:54.000Z","updated_at":"2024-06-15T14:38:24.383Z","dependencies_parsed_at":"2024-06-15T14:38:22.920Z","dependency_job_id":"500aea2a-e13c-47ea-9773-bfc1afac6a62","html_url":"https://github.com/lexhouk/goit-pyweb-hw-02","commit_stats":null,"previous_names":["lexhouk/goit-pyweb-hw-02"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lexhouk%2Fgoit-pyweb-hw-02","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lexhouk%2Fgoit-pyweb-hw-02/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lexhouk%2Fgoit-pyweb-hw-02/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lexhouk%2Fgoit-pyweb-hw-02/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lexhouk","download_url":"https://codeload.github.com/lexhouk/goit-pyweb-hw-02/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225019528,"owners_count":17408079,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["colorama","colorama-librairy","docker","docker-image","dockerfile","goit","goit-pyweb-hw-02","pip","pip3","poetry","poetry-python","python-virtual-environment","studying"],"created_at":"2024-11-17T09:19:18.400Z","updated_at":"2024-11-17T09:19:18.885Z","avatar_url":"https://github.com/lexhouk.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Assistant bot\n\n## Pre-installation\n\n```bash\n$ pip[3] install poetry\n$ poetry config virtualenvs.in-project true\n```\n\n## Installation\n\n```bash\n$ git clone https://github.com/lexhouk/goit-pyweb-hw-02.git goit-pyweb-hw-02\n$ cd goit-pyweb-hw-02\n$ poetry shell\n$ poetry install\n```\n\n## Usage\n\n```bash\n$ python main.py\n```\n\nor with debug:\n\n```bash\n$ python main.py --debug\n```\n\n## Classes diagram\n\n```mermaid\nclassDiagram\n    Field \u003c|--* Name\n    Field \u003c|--* Phone\n    Field \u003c|--* Birthday\n\n    Name \u003c|--* Record\n    Phone \"0..*\" \u003c|--o \"1\" Record\n    Birthday \u003c|--o Record\n\n    UserDict \u003c|-- AddressBook\n    Record \"0..*\" \u003c|--o \"1\" AddressBook\n\n    Exception \u003c|-- PhoneError\n    Exception \u003c|-- BirthdayError\n    Exception \u003c|-- RecordError\n\n    ABC \u003c|-- Reader\n    Reader \u003c|-- CliReader\n\n    ABC \u003c|-- Writer\n    Writer \u003c|-- CliWriter\n\n    class Field {\n        \u003c\u003cabstract\u003e\u003e\n        +str value\n        +__init__(str value) None\n        +__str__() str\n    }\n\n    Phone: +__init__(str value) None\n\n    class Birthday {\n        +str FORMAT\n        +__init__(str value) None\n        +__str__() str\n    }\n\n    class Record {\n        +Name name\n        +list~Phone~ phones\n        +Birthday|None birthday\n        +__init__(str name) None\n        +__str__() str\n        #find(str phone, bool get_instance) int | Phone | None\n        +add_phone(str phone) None\n        +remove_phone(str phone) None\n        +edit_phone(str current, str new) None\n        +find_phone(str phone) Phone | None\n        +add_birthday(str birthday) None\n    }\n\n    class UserDict {\n        \u003c\u003cabstract\u003e\u003e\n    }\n\n    class AddressBook {\n        +data: Dict[str, Record]\n        +add_record(Record record) None\n        +find(str name) Record\n        +delete(str name) None\n        date_to_string(datetime.datetime date) str$\n        find_next_weekday(datetime.datetime start_date, int weekday) datetime.datetime$\n        +adjust_for_weekend(datetime.datetime birthday) datetime.datetime\n        +get_upcoming_birthdays(int days) Dict[str, list[str]]\n    }\n\n    class Exception {\n        \u003c\u003cabstract\u003e\u003e\n    }\n\n    PhoneError: +__init__() None\n    BirthdayError: +__init__() None\n\n    class RecordError {\n        +str MESSAGE\n        +__init__() None\n    }\n\n    class ABC {\n        \u003c\u003cabstract\u003e\u003e\n    }\n\n    class Reader {\n        \u003c\u003cabstract\u003e\u003e\n        -prompt\n        +__init__(str prompt) None\n        read() tuple~str~*\n    }\n\n    CliReader: +read() tuple~str~\n\n    class Writer {\n        \u003c\u003cinterface\u003e\u003e\n        write(str data) None*\n    }\n\n    class CliWriter {\n        +__init__() None\n        +write(str data) None\n    }\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flexhouk%2Fgoit-pyweb-hw-02","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flexhouk%2Fgoit-pyweb-hw-02","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flexhouk%2Fgoit-pyweb-hw-02/lists"}