Из чего состоит веб-платформа Falcon Space
Основная суть
Система позволяет создавать площадки и личные кабинеты с возможностями автоматизации различных процессов работы предприятия. Для создания элементов системы необходимо базово знать элементы верстки на Bootstrap 4 и хорошо знать SQL.
90% функций система покрывает за счет использования типовых компонентов и созданных хранимых процедур под проект. 10% - кастомная разработка под проект в отдельных areas.
Основа системы - это база данных на SQL Server 2016 (подойдет бесплатная версия Express Edition) с веб-приложением на базе технологий ASP.NET MVC & Bootstrap 4.
Смотрите также Руководство по началу работы с Falcon Space
Рабочий workflow в системе
- Определяем роли в системе
- Определяем для каждой роли страницы
- Определяем декларативную разметку для каждой страницы, используя сниппеты компонентов
- Настраиваем компоненты (создание/правка хранимых процедур)
- Настраиваем права доступа для страниц и компонентов
Основные строительные кирпичи системы
- Страницы - страницы в личных кабинетах с возможностью добавлять функциональность через сниппеты компонентов.
- Таблицы - создание любых таблиц с сортировкой, фильтрами и выводом колонок.
- Формы - универсальные формы добавления/редактирования сущностей.
- Дашборды - рабочий стол пользователя в личном кабинете.
- Метрики - вывод информации некоего sql отчета в табличном и графическом виде.
- Уведомления - оповещение пользователей о важных событиях в системе.
- Сущности и статусы - движение по статусам неких сущностей заявок с настраиваемым набором статусов и полей.
- Каталог и фильтр - товары и поиск с динамическими фильтрами по каталогу.
- Ресурсы - управление картинками, документами, прикрепленными к сущности.
- Универсальный API - механизм интеграции с внешними системами.
Технические моменты
- Старайтесь создавать компоненты постепенно, начиная с простого работающего варианта, постепенно добавляя деталей. Не нужно сразу делать гигантские формы и потом пытаться понять почему она не выводится.
- Кастомизация компонентов достигается за счет изменения настроек компонентов через таблицы данных, а также через реализацию своих хранимых процедур.
- ВАЖНО! Обязательно используйте сниппеты, а не копируйте из документации разметку. При копировании символы кавычек неверно трактуются и компонент не подхватывает параметры. Примеры сниппетов:

- Хранимые процедуры имеют строгий контракт на входе и выходе. Обязательно используйте соответствующие аналогичные примеры и не пишите с нуля хранимые процедуры.
- Имена хранимых процедур генерируются автоматически с использованием префиксов подсистемы и кодов сущностей. Имена процедур - по принципу: {control}_{entityCode}_procedureName.
- Системные формы выделены красной рамкой. Не перепутайте - не нужно редактировать формы/таблицы с красной рамкой.
- Не используйте в полях code заглавные буквы, пробелы и т.д. (код может передаваться через URL, в названиях хранимых процедур).
- Практически во всех хранимых процедурах передается параметр @username - именно на основании него необходимо проверять доступ к данным у данного пользователя.