Тестовое задание на должность Junior Backend developer (Python) в Effective Mobile.
Проект разработан на языке программирования 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
- True -- при поиске c указанием
CaseSensitive
-- чувствительность поиска к регистру символов- True -- при поиске c указанием
Имя=Вася
, будет найдена единственная запись -- сИмя=Вася
- False -- при поиске c указанием
Имя=Вася
, будут найдены записи сИмя=Вася
,Имя=вася
,Имя=ВАСЯ
и т.д. - Дефолтное значение -- False
- True -- при поиске c указанием
Продукт распространяется под лицензией MIT.