Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/justkappaman/phonebook-interview-task
Тестовое задание на должность Junior Backend developer (Python) в Effective Mobile
https://github.com/justkappaman/phonebook-interview-task
cli cli-app cli-application interview phonebook python python3
Last synced: 6 days ago
JSON representation
Тестовое задание на должность Junior Backend developer (Python) в Effective Mobile
- Host: GitHub
- URL: https://github.com/justkappaman/phonebook-interview-task
- Owner: JustKappaMan
- License: mit
- Created: 2023-08-19T08:13:48.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-06-03T16:13:19.000Z (7 months ago)
- Last Synced: 2024-12-11T00:46:30.984Z (14 days ago)
- Topics: cli, cli-app, cli-application, interview, phonebook, python, python3
- Language: Python
- Homepage:
- Size: 72.3 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Phonebook Interview Task
![MIT License](https://img.shields.io/github/license/JustKappaMan/Phonebook-Interview-Task)
![Code style: black](https://img.shields.io/badge/code%20style-black-black)Тестовое задание на должность Junior Backend developer (Python) в [Effective Mobile](https://effective-mobile.ru).
## О проекте
Проект разработан на языке программирования Python 3 без использования сторонних зависимостей.Телефонный справочник со следующими возможностями:
* Хранение таких данных как
* Имя
* Отчество
* Фамилия
* Организация
* Рабочий номер телефона
* Личный номер телефона
* Настраиваемый постраничный вывод записей на экран
* Добавление новых записей
* Редактирование существующих записей
* Поиск среди записей (строгий/нестрогий, с учетом/без учета регистра) по одному/нескольким критериям## Особенности
* Запускайте файл `main.py` из директории `src` в терминале используя интерпретатор Python версии 3.10+
* При запуске в терминале IDE, вследствие его специфики, плывёт ASCII-вёрстка и некорректно очищается экран
* В корневой директории проекта находятся файл с данными и файл с настройками -- `phonebook.csv` и `settings.ini` соответственно
* В случае отсутствия файла с данными будет создан пустой файл, готовый к добавлению данных
* В случае отсутствия файла с настройками будет создан файл, содержащий настройки по умолчанию## Настройки
Настройка программы осуществляется путём изменения расположенного в корневой директории файла `settings.ini`
* `ColumnWidth` -- размер (в символах) одной клетки таблицы
* Минимальное значение -- 16
* Дефолтное значение -- 16
* Максимальное значение -- не ограничено
* `RecordsPerPage` -- размер (в строках) страницы, при постраничном выводе записей на экран
* Минимальное значение -- 1
* Дефолтное значение -- 10
* Максимальное значение -- не ограничено
* `Strict` -- "строгость" поиска
* True -- при поиске c указанием `ID=1`, будет найдена единственная запись -- с `ID=1`
* False -- при поиске c указанием `ID=1`, будут найдены записи с `ID=1`, `ID=11`, `ID=21` и т.д.
* Дефолтное значение -- False
* `CaseSensitive` -- чувствительность поиска к регистру символов
* True -- при поиске c указанием `Имя=Вася`, будет найдена единственная запись -- с `Имя=Вася`
* False -- при поиске c указанием `Имя=Вася`, будут найдены записи с `Имя=Вася`, `Имя=вася`, `Имя=ВАСЯ` и т.д.
* Дефолтное значение -- False## Благодарность
* [Isaak Uchakaev](https://github.com/lk-geimfari) за [mimesis](https://github.com/lk-geimfari/mimesis)## Информация о лицензии
Продукт распространяется под лицензией MIT.