Skip to content

📝 📨 CGI web application for filling out the feedback form and saving the result to the database

Notifications You must be signed in to change notification settings

BeautifulDirt/dirt_list_comments

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Веб-приложение заполнения формы обратной связи с сохранением результата в базу данных. Тестовое задание для кандидатов на стажировку в офис ритейл-компании

STAR ME!

Задание было разделено на 2 части. Базовую и дополнительную. Базовая часть была обязательна для выполнения. Выполнение дополнительной рассматривались в качестве плюса. Так же плюсом было выполнение ограничений указанных после основных частей.

  • - было мною реализовано
  • - не было реализовано в рамках данной работы

Итак, погнали:

  1. Тест. Базовая часть
  2. Тест. Дополнительная часть
  3. Тест. Необязательные ограничения
  4. Запуск веб-приложения

Тест. Базовая часть

  • Создать базу данных в выбранной СУБД (sqlite, mysql, postgreesql или другая SQL-совместимая СУБД). Создать необходимые для выполнения задания таблицы и справочные данные (сделать это в виде sql скрипта).

  • Написать python веб-приложение заполнения формы обратной связи с сохранением результата в базу данных. Приложение должно реализовывать возможность просмотра и удаления добавленных записей.

  • Добавление комментариев. После запуска приложения при обращении по относительному пути /comment/ должна отображаться форма для заполнения. Форма состоит из следующих полей:

    • фамилия
    • имя
    • отчество
    • регион
    • город
    • контактный телефон
    • e-mail
    • комментарий.
  • Поля фамилия, имя и комментарий являются обязательными. Поле комментарий текстовое. Для полей телефон и email следует производить проверку ввода. Номер телефона в формате «(код города) номер». Поля с некорректным вводом и не заполненные обязательные поля должны визуально выделяться красным цветом. Поля регион и город являются выпадающими списками, при этом список выбора поля город зависит от выбранного поля регион. Данные для этих списков должны храниться в СУБД. Значение в поля город должно динамически подгружаться по технологии ajax в соответствии с выбранным полем регион. Таблица соответствия для примера:

Регион Город
Краснодарский край Краснодар
Кропоткин
Славянск
Ростовская область Ростов
Шахты
Батайск
Ставропольский край Ставрополь
Пятигорск
Кисловодск

Тест. Дополнительная часть

  • Просмотр комментариев. При обращении по относительному пути /view/ должна выводиться таблица со списком добавленных комментариев. В этом же представлении должна быть возможность удалить определенную запись.

  • Удаление комментариев. В представлении просмотра комментариев реализовать возможность удаления отдельно выбранного комментария.

  • Просмотр статистики. При обращении по относительному пути /stat/ должна выводиться таблица со списком тех регионов у которых количество комментариев больше 5, выводить так же и количество комментариев по каждому региону. Каждая строчка должны быть ссылкой на список города этого региона в котором отображается количество комментариев по этому городу.

Тест. Необязательные ограничения

  • При реализации не использовать библиотек/модулей или фреймворков не входящих в стандартную библиотеку python или javascript

Запуск данного веб-приложения (Linux)

  1. Сменить права доступа у директории с проектом
       $ chmod +x dirt_list_comments
       $ chmod -r dirt_list_comments
  2. Переходим в директорию с проектом
       $ cd dirt_list_comments
  3. Запускаем веб-приложение
       $ python3 -m http.server --cgi
    или
       $ python -m SimpleHTTPServer 8000
  4. В адресной строке браузера вписываем localhost:8000 или http://localhost:8000
  5. Профит ⭐

P.S. Работа была принята. И я, как кандидат, была принята на стажировку :3

📆 Август, 2018

About

📝 📨 CGI web application for filling out the feedback form and saving the result to the database

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published