Разработать микросервис (бэк и фронт)

40 000 руб. за проект
24 декабря 2019, 15:15 • 12 откликов • 161 просмотр
Добрый день.
Необходимо разработать микросервис.

Имеется open source SaaS платформа для развертывания LoRaWAN сети:
loraserver
Исходники тут:
lora-app-server, loraserver
В нем реализован базовый функционал, который позволяет зарегистрировать базовые станции и конечные устройства Lorawan, создать аккаунты организаций и пользователей.

В кратце, lorawan-сеть работает следующим образом: конечные устройства отправляют радиопакеты на базовые станции, которые пересылают их на сервер, используя проводное ethernet-соединение. Сервер данные принимает, обрабатывает, сохраняет, отправляет ответные команды (при необходимости) и предоставляет веб-интерфейс пользователю.

Платформа представляет собой набор микросервисов:
- lora-app-server – позволяет создавать организации, заводить аккаунты пользователей,
менять пароли, добавлять базовые станции Lorawan, добавлять конечные устройства
Lorawan
- loraserver и lora-gateway-pridge – отвечают за прием пакетов с базовых устройств и их
обработку согласно спецификации lorawan.
- lora-mosquitto – общение между платформой и базовыми станциями построено на JSON-
пакетах поверх MQTT.
- lora-postgresql – база данных, в которой все хранится.
- lora-redis – вспомогательная база данных.

Мы данный проект форкнули (доступ к гитлабу будет предоставлен) и внесли некоторые доработки, в частности, добавили микросервис, который сохраняет в БД данные (payload) с конечных устройств lorawan:
- lora-data-storage – сервис отлавливает все MQTT-пакеты от базовых станций, содержащие
payload с конечных устройств. Данного сервиса нет в оригинальном репозитории. Написан
нами.

Стек технологий, применяемых в платформе:
Backend написан на Go. Frontend написан на ReactJS. Разработка ведется в gitlab. Сервисы
работают в docker контейнерах. БД – postgresql.

Что требуется реализовать:
Разработать микросервис, реализующий бизнес-кейс gps трекинга, - lora-gps.
Одно из разработанных конечных устройств представляет собой gps трекер lorawan, оно отправляет
свои текущие координаты на сервер, которые сохраняются в базу данных сервисом lora-data-storage.
Соответственно, сервис lora-gps должен извлекать эти данные с базы данных и отображать в веб-
интерфейсе пользователя.
Предполагается максимально переиспользовать софт lora-app-server, в котором уже реализована аутентификация пользователя, определение базовых станций и конечных устройств, принадлежащих организации пользователя, т.е. весь административный функционал. Потребуется добавить бизнес-функционал: отображение карты с координатами выбранных устройств за выбранный промежуток времени на выбранном масштабе карты. Мне видится так, что для этого понадобится добавить некоторое количество эндойнтов в бэк и перелопатить веб-интерфейс (добавить в него карту, в которой будут отображаться координаты). Таким образом, хотелось бы получить данный микросервис в виде лишь отдельной ветки сервиса lora-app-server. При этом необходимо сохранить возможность подтягивать в наш форкнутый репозиторий изменений из оригинального репозитория.

Подробное ТЗ со скриншотами веб-интерфейса вышлю соискателю.
При необходимости будет предоставлен dev-сервер для отладки софта.
Торг уместен.