Приложение для сбора дефектов люков по окрестностям
Цена договорная
•
безналичный расчёт, электронные деньги
Создать одностраничное веб-приложение, состоящее из формы с кнопкой для отправки этой формы:
- с возможностью загрузки нескольких (до четырех) фотографий
- чекбоксы A, A1, B, C, D с подписями:
- - A на проезжей части
- - A1 больше 2 см от поверхности
- - B зазоры больше 3 мм
- - C нет отверстий на поверхности
- - D неправильная маркировка
Форма должна отправлять на сервер данные о геопозиции устройства. В случае отсутствия таких данных должно выдаваться сообщение об ошибке.
Если отсутствие данных о геопозиции вызвано отсутствием у страницы разрешения пользователя на доступ к геопозиции, такое разрешение должно запрашиваться повторно при загрузке страницы (или при попытке отправки формы).
Полученные сервером данные формы должны обрабатываться следующим образом:
1) загруженные фотографии обрезаться до объема 1 мегабайт
2) составляться текст, на основе переданных чекбоксов по следующему принципу:
Текст A (только если чекбокс A)
Текст A1 (только если чекбокс A и A1)
Текст B (только если чекбокс B)
Текст C (только если чекбокс C)
Текст D (только если чекбокс D)
Тексты следующие:
3) Определять адрес по полученной геопозиции (https://geocode-maps.yandex.ru/1.x/?geocode=27.525773,53.89079&results=1)
4) Данные, а именно загруженные фотографии, текст и адрес или геолокация должны отправляться на порталы:
- "Наш Петербург" (http://gorod.gov.spb.ru/problems/add/?city_object=14&reason=230), текст идет в поле "Описание проблемы"
- "Сердитый Гражданин" (https://www.angrycitizen.ru/problems/one/130, форма по кнопку "Решить проблему")
- "Красивый Петербург" (http://xn--80accfiasjf8cghbfut2k.xn--p1ai/request?g=112)
5) в базу данных должна делаться запись, включающая:
- время создания записи
- URL созданной проблемы на "Наш Петербург"
- URL созданной проблемы на "Сердитый Гражданин"
- URL созданной проблемы на "Красивый Петербург"
Примеры созданных проблем:
- http://gorod.gov.spb.ru/problems/411822/
- https://www.angrycitizen.ru/case/756773
- http://krasimir.org/doc?nid=189423
Платформа: Ruby on Rails 5.1, запуск сервера на Heroku. Разработка в открытом git репозитории.
По необходимости покрыть тестами.
Мне как RoR разработчику легче будет понять, хорошо или плохо выполнено технически, я смогу развивать проект самостоятельно, и легче будет искать кого-то на поддержку.
Приложение должно читать конфигурационные настройки (логины и пароли к порталам) из переменных окружения.
Приложение предназначено исключительно для использования с мобильных устройств.
Оформление не имеет значения.
Корректность работы приложения не должна зависеть от разрешения экрана мобильного устройства.
- с возможностью загрузки нескольких (до четырех) фотографий
- чекбоксы A, A1, B, C, D с подписями:
- - A на проезжей части
- - A1 больше 2 см от поверхности
- - B зазоры больше 3 мм
- - C нет отверстий на поверхности
- - D неправильная маркировка
Форма должна отправлять на сервер данные о геопозиции устройства. В случае отсутствия таких данных должно выдаваться сообщение об ошибке.
Если отсутствие данных о геопозиции вызвано отсутствием у страницы разрешения пользователя на доступ к геопозиции, такое разрешение должно запрашиваться повторно при загрузке страницы (или при попытке отправки формы).
Полученные сервером данные формы должны обрабатываться следующим образом:
1) загруженные фотографии обрезаться до объема 1 мегабайт
2) составляться текст, на основе переданных чекбоксов по следующему принципу:
Текст A (только если чекбокс A)
Текст A1 (только если чекбокс A и A1)
Текст B (только если чекбокс B)
Текст C (только если чекбокс C)
Текст D (только если чекбокс D)
Тексты следующие:
- A: Согласно п.п. 3.1.10, 3.1.11 ГОСТ Р 50597-93, люки смотровых колодцев и дождеприемников должны соответствовать требованиям ГОСТ 3634, а согласно п. 3.1.12, устранение недостатков, указанных в пп.3.1.9 и 3.1.10, следует осуществлять в течение не более суток с момента их обнаружения, а разрушенные крышки и решетки должны быть немедленно ограждены и обозначены соответствующими дорожными знаками и их замена должна быть проведена в течение не более 3 ч. ГОСТ Р 50597-93 не регламентирует критериев аварийности, и устанавливает строгие сроки устранения дефектов и несоответствий.
- A1: Крышка люка отклонена относительно уровня покрытия больше 2 см, что нарушает п 3.1.10 ГОСТ Р 50597-93.
- B: Между крышкой и корпуском зазоры, превышающие 3 мм, что нарушает п. 5.2.5 ГОСТ 3634-99.
- C: На крышке люка отсутствуют технические отверстия, что нарушает п.п. 5.2.6, 5.2.4 ГОСТ 3634-99.
- D: На крышке люка отсутствует маркировка с условным обозначением наименования инженерной сети, типа люка, исполнения, размеров лаза и обозначения ГОСТ, что нарушает п.п. 5.5.1 и 4.5 ГОСТ 3634-99.
3) Определять адрес по полученной геопозиции (https://geocode-maps.yandex.ru/1.x/?geocode=27.525773,53.89079&results=1)
4) Данные, а именно загруженные фотографии, текст и адрес или геолокация должны отправляться на порталы:
- "Наш Петербург" (http://gorod.gov.spb.ru/problems/add/?city_object=14&reason=230), текст идет в поле "Описание проблемы"
- "Сердитый Гражданин" (https://www.angrycitizen.ru/problems/one/130, форма по кнопку "Решить проблему")
- "Красивый Петербург" (http://xn--80accfiasjf8cghbfut2k.xn--p1ai/request?g=112)
5) в базу данных должна делаться запись, включающая:
- время создания записи
- URL созданной проблемы на "Наш Петербург"
- URL созданной проблемы на "Сердитый Гражданин"
- URL созданной проблемы на "Красивый Петербург"
Примеры созданных проблем:
- http://gorod.gov.spb.ru/problems/411822/
- https://www.angrycitizen.ru/case/756773
- http://krasimir.org/doc?nid=189423
Платформа: Ruby on Rails 5.1, запуск сервера на Heroku. Разработка в открытом git репозитории.
По необходимости покрыть тестами.
Мне как RoR разработчику легче будет понять, хорошо или плохо выполнено технически, я смогу развивать проект самостоятельно, и легче будет искать кого-то на поддержку.
Приложение должно читать конфигурационные настройки (логины и пароли к порталам) из переменных окружения.
Приложение предназначено исключительно для использования с мобильных устройств.
Оформление не имеет значения.
Корректность работы приложения не должна зависеть от разрешения экрана мобильного устройства.
- Файлы
В заказе есть исполнитель
При переводе заказа из архивного в актуальный, текущий исполнитель будет снят с задачи.
Выберите тип сделки
С безопасной сделкой вы всегда сможете вернуть средства, если что-то пойдет не так. С простой сделкой вы самостоятельно договариваетесь с исполнителем об оплате и берете на себя решение конфликтов.