Skip to content

architux/PythonDevTest

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 

Repository files navigation

Senior Python Developer (MedTech)

Данное приложение является тестовым заданием на позицию Senior разработчика в команду приложения "Незабудка".

Требования

Напишите и разверните веб-приложение на языке Python, используя фреймворк Django и любую СУБД. Приложение - это простой сервис, накапливающий информацию о клиентах.

Оно должно состоять из нескольких разделов:

  • таблица с контактами
  • форма создания нового контакта
  • форма редактирования контакта
  • форма удаления контакта
  • форма просмотра контакта

Основная функциональность

Форма с контактами

Стартовый экран приложения. На нем отображаются все контакты из базы данных (БД).

Форма должна содержать постраничную навигацию и поиск на серверной стороне. 1 страница = max 10 записей. При этом, количество страниц зависит от количества записей в БД и от результатов поиска. Поиск должен фильтровать количество записей в таблице и количество страниц.

1

Форма создания нового контакта

Сохраняет новый контакт в БД. Необходимо реализовать валидацию полей Email и Phone на клиентской и серверной стороне.

2

Форма редактирования контакта

Эта форма позволяет редактировать и сохранить контакт из БД. Необходимо реализовать валидацию полей Email и Phone на клиентской и серверной стороне.

3

Форма удаления контакта

Удаление контакта из БД.

4

Форма просмотра контакта

Содержит детальную информацию о контакте, включая идентификатор записи и внешний ключ.

6

Дополнительная функциональность

Экспорт и импорт

Сделайте возможность загружать и выгружать контакты в БД, используя форматы: json или csv.

Сделать на главном экране кнопку Экспорт. При нажатии на кнопку (ссылку) отправляется запрос на сервер, данные выбираются из БД, преобразуются в нужный формат и возвращаются на клиент. Ответ должен восприниматься как файл и браузер начинал скачивание.

Сделать на главном экране кнопку Импорт. При нажатии на кнопку (ссылку) открывается новая форма с возможностью выбора файла. Окно выбора файла фильтрует все файлы, кроме указанных выше. После отправки файла на сервер, нужно сверить содержимое файла с ожидаемым форматом и затем распарсить его.Каждую запись необходимо провалидировать перед загрузкой в БД.

Парсинг

Необходимо распарсить страницу http://breffi.ru/ru/about, выделить 5 базовых ценностей компании и отобразить их на главной форме, над таблицей.

Внешний сервис

Реализуйте загрузку контактов, используя данные из внешнего сервиса https://jsonplaceholder.typicode.com/users

REST API

Сделайте REST API для управления контактами (CRUD).

About

test python-django app with rest api

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published