Проект написан на Django 3.0 и использует PostgreSQL, Redis и S3. Для фронта используется HTML5 (в тч SVG), JS, CSS. Дополнительные фреймворки не используются.
Проект состроит из трёх django app:
- viewer – создание проекта, загрузка планов этажей, типы носителей
- infoplan – расстановка и инфопланирование объектов на плане
- documents – создание разных видов документации по проекту
- Project – проект расстановки
- MarkerKind – род носителей по числу сторон и физ хар-кам
- Layer – тип носителей (род + описание конкретного типа)
- Page – план этажа, монтажная область
- Marker – объект, отражает расположение носителя определённого типа в монтажной области
- MarkerVariable – содержимое инфоплана объекта
Для деплоя нужно создать базу данных Postgres и задать её в настройках проекта. Также нужно настроить Redis и создать S3 bucket для статики и медиа.