Как можно решить это задание?

Само задание: Реализуйте веб приложение для отслеживания клиентов и сотрудников по помещениям больницы. Эта система позволяет отслеживать перемещение людей по зонам доступа в больнице, контролировать доступ к определенным помещениям и управлять доступом сотрудников и посетителей. В ресурсах представлена карта отделения с расположением помещений и пропускных пунктов. Необходимо сделать отображение заполненности помещений, получая данные о перемещениях клиентов и персонала каждые 3 секунды посредством API согласно предоставленной документации(api уже есть). Персонал на карте необходимо выделить синими кружочками, а клиентов - зелеными. Расположение людей на карте внутри помещения (после зафиксированного входа или выхода) должно быть случайным образом (без наложения кружочков друг на друга). Как это можно реализовать на python? Нужны просто идеи посредством чего это можно выводить в веб


Ответы (1 шт):

Автор решения: Chorkov

Этапы работы / блоки которые можно отлаживать отдельно:

  1. Разобрать схему на граф связей: составить список зон; соответствие номеров датчиков и связанных этой дверью помещений.
  2. Написать процедуру которая будет преобразовывать данные о перемещении в данные о присутствии сотрудников в каждом помещении. Возможно, потребуется хранить какие-то данные потребуется хранить персистентно (например в базе данных, но можно и просто в текстовом файле). Можно (необязательно) оформить в виде отдельного микросервиса.
  3. Нарисовать картинку со схемой помещения в svg-редакторе. Разместить на ней области, в которых будут рисоваться кружки (чтобы не закрывать названия помещений). Тут много вариантов: можно Jinga2, если понимаете как устроен svg изнутри; можно сипользовать библиотеки типа svgwrite / drawsvg. SVG лучше чем PNG, тем что можно делать всплывающие подсказки на элементах картинки и гиперссылки.
  4. Написать функцию (или отдельную программу), которая вставляет кружочки на картинку. Т.е. рисует требуемую по ТЗ схему при каждом вызове.
  5. Интеграция с веб сервером. Тут надо надо смотреть какой сервер у заказчика. Как правило, в файле настройки сервера, нужно прописать что при запросе заданного URL, запустить ваш файл, и вернуть его выдачу в качестве ответа клиенту.
  6. Автоматическое обновление картинки (повторный запрос) решать на стороне клиента, средствами JavaScript.
→ Ссылка