Система управления мероприятием и конструктор сайтов
Система управления мероприятием разработанная для компании Экспофорум.
Основная задача проекта состояла в том, что бы разработать универсальное веб-приложение, позволяющее:
- Создавать и управлять неограниченным количеством сайтов различной структуры без привлечения разработчиков
- Создавать неограниченное количество страниц сайтов без привязки к заложенной структуре страниц
- Создавать новости с возможностью привязки к произвольным страницам
- Создавать и управлять каталогом экспонентов, выводить список экспонентов на сайте
- Создавать и управлять интерактивными планами помещений - размечать план на активные зоны(стенды), добавлять информацию и тд.
- Создавать и управлять календарями мероприятий.
- Создавать и управлять фото/видео галереи.
- Создавать формы с различными полями, размещать форму на страницах сайтов
Продукт реализован с использованием NodeJS, AngularJS и MongoDB.
У системы имеется API для интеграции с другими продуктами, например мобильными приложениями.
Проектирование
В ходе проектирования системы, мы решили, что лучшим вариантом будет создать drag&grop конструктор, позволяющий “собирать” страницы с произвольной структурой из доступных виджетов.
По итогам разработки, мы получили продукт, в который входит:
- Инновационная CMS, позволяющая создать сайт в 5 кликов
- Модуль управления экспонентами
- Модуль управления планом помещения/мероприятия
- Модуль управления новостями
- Модуль управления пользователями и ролями
- Конструктор форм
- Модуль управления календарем мероприятия
- Модуль управления галереей мероприятия
- Модуль управления внешним видом презентации
Конструктор сайтов
Одна из самых сложных частей проекта. Страница строится из настраиваемых ячеек, в каждую ячейку перетаскивается виджет, далее настраивается виджет.
В процессе разработки был создан набор основных виджетов и специализированных под выставочную сферу.
Модуль управления планом помещения/мероприятия
Модуль позволяет размечать графические планы помещений на активные зоны, а так же связывать их между собой. Так же доступна возможность добавлять произвольные точки, привязывать к ним доступные из списка действия - например вывод подсказок, модальных окон.