Веб-приложение заполнения формы обратной связи с сохранением результата в базу данных. Тестовое задание для кандидатов на стажировку в офис ритейл-компании
⭐ STAR ME!
Задание было разделено на 2 части. Базовую и дополнительную. Базовая часть была обязательна для выполнения. Выполнение дополнительной рассматривались в качестве плюса. Так же плюсом было выполнение ограничений указанных после основных частей.
- - было мною реализовано
- - не было реализовано в рамках данной работы
Итак, погнали:
- Тест. Базовая часть
- Тест. Дополнительная часть
- Тест. Необязательные ограничения
- Запуск веб-приложения
-
Создать базу данных в выбранной СУБД (sqlite, mysql, postgreesql или другая SQL-совместимая СУБД). Создать необходимые для выполнения задания таблицы и справочные данные (сделать это в виде sql скрипта).
-
Написать python веб-приложение заполнения формы обратной связи с сохранением результата в базу данных. Приложение должно реализовывать возможность просмотра и удаления добавленных записей.
-
Добавление комментариев. После запуска приложения при обращении по относительному пути /comment/ должна отображаться форма для заполнения. Форма состоит из следующих полей:
- фамилия
- имя
- отчество
- регион
- город
- контактный телефон
- комментарий.
-
Поля фамилия, имя и комментарий являются обязательными. Поле комментарий текстовое. Для полей телефон и email следует производить проверку ввода. Номер телефона в формате «(код города) номер». Поля с некорректным вводом и не заполненные обязательные поля должны визуально выделяться красным цветом. Поля регион и город являются выпадающими списками, при этом список выбора поля город зависит от выбранного поля регион. Данные для этих списков должны храниться в СУБД. Значение в поля город должно динамически подгружаться по технологии ajax в соответствии с выбранным полем регион. Таблица соответствия для примера:
Регион | Город |
---|---|
Краснодарский край | Краснодар |
Кропоткин | |
Славянск | |
Ростовская область | Ростов |
Шахты | |
Батайск | |
Ставропольский край | Ставрополь |
Пятигорск | |
Кисловодск |
-
Просмотр комментариев. При обращении по относительному пути /view/ должна выводиться таблица со списком добавленных комментариев. В этом же представлении должна быть возможность удалить определенную запись.
-
Удаление комментариев. В представлении просмотра комментариев реализовать возможность удаления отдельно выбранного комментария.
-
Просмотр статистики. При обращении по относительному пути /stat/ должна выводиться таблица со списком тех регионов у которых количество комментариев больше 5, выводить так же и количество комментариев по каждому региону. Каждая строчка должны быть ссылкой на список города этого региона в котором отображается количество комментариев по этому городу.
- При реализации не использовать библиотек/модулей или фреймворков не входящих в стандартную библиотеку python или javascript
- Сменить права доступа у директории с проектом
$ chmod +x dirt_list_comments $ chmod -r dirt_list_comments
- Переходим в директорию с проектом
$ cd dirt_list_comments
- Запускаем веб-приложение
или
$ python3 -m http.server --cgi
$ python -m SimpleHTTPServer 8000
- В адресной строке браузера вписываем
localhost:8000
илиhttp://localhost:8000
- Профит ⭐
P.S. Работа была принята. И я, как кандидат, была принята на стажировку :3
📆 Август, 2018