Тестовое задание на должность 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.