Skip to content

Тестовое задание на должность Junior Backend developer (Python) в Effective Mobile

License

Notifications You must be signed in to change notification settings

JustKappaMan/Phonebook-Interview-Task

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

63 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Phonebook Interview Task

MIT License Code style: black

Тестовое задание на должность 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
  • CaseSensitive -- чувствительность поиска к регистру символов
    • True -- при поиске c указанием Имя=Вася, будет найдена единственная запись -- с Имя=Вася
    • False -- при поиске c указанием Имя=Вася, будут найдены записи с Имя=Вася, Имя=вася, Имя=ВАСЯ и т.д.
    • Дефолтное значение -- False

Благодарность

Информация о лицензии

Продукт распространяется под лицензией MIT.

About

Тестовое задание на должность Junior Backend developer (Python) в Effective Mobile

Topics

Resources

License

Stars

Watchers

Forks

Languages