Хотелось бы представить на суд местного сообщества недавно созданную облачную веб платформу разработанную бывшим 1с-овцем освоившим java, js, ts, react.  Главная фишка - есть возможность писать обработчики событий на языке TypeScript и sql код на триггеры при записи объектов. Редактор кода тоже онлайн и реализован на базе monaco-editor. В нем типизируется все:  структура и типы метаданных, данные и элементы формы, события обработчиков.  Интерфейсы TypeScript(*.d.ts файлы) генерируются на лету. Они актуальны и доступны в коде даже без сохранения конфигурации. https://typeser.com Есть онлайн демо:  https://constructor.typeser.com/habr - онлайн erp конструктор-конфигуратор https://typeser.com/habr - рантайм Часть заявленного функционала хоть и присутствует в качестве настроек конфигуратора, но еще не работает. Из этого мог бы получиться отличный стартап, и можно было бы заявить - "Главная проблема неудач выхода 1С на западный рынок тут решена! Внутренний язык - не странный язык 1С, а популярный язык - TypeScript!". Но оно так не работает. В реальности - нужны инвестиции чтобы отточить и оттестировать функциональность, сделать пару коробочных отраслевых решений. На текущем этапе реальная ценность платформы(а точнее mvp)  - хорошее портфолио для поиска работы на должность Senior Full-Stack Developer.  Если кто предложит способ повысить ценность (предложит реального клиента ищущего аналог платформы 1С или бизнес-партнера который согласится финансировать разработку) - буду премного благодарен. Ниже идет перевод с английского раздела "о проекте" в job-резюме: Typeser Web Platform — это универсальный инструмент для управления полным жизненным циклом продукта. Разработка: Дизайн, создание и редактирование структуры ERP системы Развертывание и публикация в один клик Работа в разработанной ERP Цель платформы — ускорить и удешевить разработку ERP-систем, предоставить возможность гибкой и прозрачной предварительной настройки и доработки систем на любом этапе жизненного цикла ИТ-продукта. Преимущества среды разработки: Cloud IDE — если у вас есть веб-браузер, вы готовы к работе. методы конфигурации компонентов и привязка данных к пользовательскому интерфейсу без кода (в основном с помощью мыши) Презентабельную ERP-систему (готовый mvp) можно построить без единой строчки кода или запроса к базе данных. Низкие стартовые требования к квалификации разработчиков Typeser-окружения в случае кастомного исходного кода (обработка событий UI) и кастомного SQL-запроса (триггеры, просмотр, безопасность уровня записи) платформа предоставляет все необходимые инструменты для синтаксического контроля и выбора доступных полей и функций, в том числе вновь добавленных и не но сохраненные таблицы, поля, элементы пользовательского интерфейса со строгой проверкой типов (TypeScript для кода модулей и MySql для запросов к БД) Лучшая TypeScript ORM для фронтенда, не имеющая аналогов Отсутствие пользовательского кода, исполняемого на сервере. Триггеры SQL, безопасность на уровне просмотра и записи могут полностью покрыть эту функциональность, а также ускорить и снизить стоимость разработки. Преимущества среды выполнения: скорость, встроенный функционал и единообразие интерфейсов в различных конфигурациях. Визуальный конструктор ERP (реализован на том же движке пользовательского интерфейса), движок пользовательского интерфейса Портал - выполняет функции авторизации и навигации внутри платформы Серверная Java на AWS Elastic Beanstalk портал, движок (мультиэкземпляры) MySql (мультиэкземпляры) на AWS RDS архитектура без файлов cookie: портал показывает iframe, содержащий сайт среды выполнения. Токены данных передаются с портала в iframe. Эта архитектура позволяет размещать различные базы данных с их пользовательским интерфейсом b собственным src в одном origin. Встроенная google авторизация В режиме конструктора портал предоставляет функции сохранения/восстановления данных на локальный ПК Визуальный редактор древовидной структуры метаданных и реквизита. Список компонентов: Subsystems (подсистемы),  Entity(database tables, сущности: спрачники/документы),  Forms: Common and Entity(for Object/Choice/List),  Enums,  View,  Registers,  Common modules  read-rls(record level security) sql query SQL triggers on write record (ErrorReporting, UpdateRegister) View SQL query визуальный редактор форм с отрисовкой результата на лету Автопривязка DB data ←→ form data  Атрибуты формы: (примитивы, Ссылки, EntityObject (с атрибутами объекта и табличными разделами), DynamicTable (Entity/Enum/View)) Перетаскивание и привязка данных формы → элементы формы Команды автоформы и пользовательские команды → кнопки добавление и генерация event listeners  для элементов формы  Широкое использование автотехник: автогенерация форм, автоматические значения свойств, автоматически доступные команды, автоматическая обработка событий Наличие встроенных компонентов пользовательского интерфейса, необходимых для построения ERP-систем (поля данных форм, статические и динамические ui-списки с полями левого соединения любого уровня и т.д.) Классификаторы примитивного типа данных (String, Number, Boolean, Date) qualifiers: length / allowedLength / digits / fractionDigits / allowedSign / dateFractions   Предварительные настройки при добавлении нового entity объекта метаданных (Каталог, Документ, Набор констант) Интерактивное создание пользовательских обработчиков событий для элементов формы и команд. Группировка, упорядочивание и переименование метаданных доступны на всех уровнях. Автоматическое добавление стандартных атрибутов таблицы (ref, description, codePrefix, code, date, parent, isFolder, owner, order,posted,postedDate,deletionMark, version) в зависимости от характеристик таблицы (descriptionLength, descriptionSynonym, usingCode(Yes/ No/YesWithPrefix), codeLength, codePrefixLength, usingDate(No/DateTime/Date/Time), иерархический тип (No/HierarchyOfItems/HierarchyFoldersAndItems), владельцы, usingOrdering, usingPosting) Особая благодарность Microsoft за Monaco Editor и TypescriptКод SRC в редакторе строго типизирован и автоматически подбирается под доступные методы и поля. Typeser генерирует Typescript-интерфейсы на лету для всех используемых метаданных. (EntityRef/EntityObject<..> /Enums<..>/View/metadata fields) Синтаксический контроль и автовыбор доступного исходного кода в обработчиках событий с учетом структуры текущей конфигурации и формы и доступных параметров обработчика. Асинхронный ORM для getEntityObject и queryForList с типизированным результатом и автоматическим добавлением левых соединений к полям/выборкам/сортировке Генерация дерева хелперов при редактировании запросов к БД (доступные таблицы, поля, разрешения контекста выполнения запроса) Простая разработка пользовательских разрешений и RLS (безопасность на уровне записи) - Гибкая и условная безопасность для чтения и записи данных Язык MySQL выбран намеренно, так как его проще использовать разработчикам конфигурации. Однако при необходимости разработки корпоративных решений его можно заменить другим (PostgreSQL, MSSQL и т.д.) Автоматическое создание и реструктуризация базы данных по структуре метаданных и заданным типам атрибутов Параметр authorizationMode (OwnerOnly / ManualGrantingRequired / EmailAuthenticationRequired / AnonymousAccessAllowed / AnonymousAccessAndOpenConfiguration) сущности Users and UserAccessGroups  включены в пустой шаблон конфигурации → функции sql-permission Легкий старт. Перейдите на https://constructor.typeser.com/new (или на свой сайт вместо «new»), выберите исходный шаблон и нажмите «Deploy». Новый сайт с новой демо-системой erp будет развернут по адресу https://typeser.com/your-site-name. Существующая демонстрационная конфигурация и сайт находятся по адресу https://constructor.typeser.com/demo1 https://typeser.com/demo1 В настоящее время поддерживается только desktop браузерами chrome/edge. Автоматическая генерация интерфейса для навигации между формами в соответствии с включением общих форм, форм списка сущностей и представления в подсистемах. Автоматическая генерация форм (список, выбор, объект) для таблиц сущностей, если формы по умолчанию не определены Автоматическое добавление необходимых элементов в автоформы (динамические таблицы, поля, таблицы значений, flex-группы, вкладки) и стандартные команды (кнопки и панели команд) Автоматическая выборка данных при прокрутке без разбиения на страницы для динамической таблицы и дерева со встроенной сортировкой и фильтрацией Открытие формы-объекта для редактирования объекта из динамической таблицы Редактирование данных формы в полях формы и таблицах значений. Выбор значений ссылочного типа (в том числе многотипных) из выпадающего списка/формы-списка smart-background-batch-auto-update обновление представлений ссылки и данных, помещенных в форму через левое соединение при выборе/изменении (обновление происходит в фоновом режиме при прокрутке или изменении данных формы пользователем или кодом пользователя) Автоматические представления ссылок из пользовательского шаблона Техника no-code для выбора и автонабора данных в поля (choiceParameters: связать фильтрацию выбора с текущими данными формы) Интеллектуальный повторный рендеринг пользовательского интерфейса при изменении атрибута и свойств элементов формы Кэширование метаданных конфигурации, метаданных формы и исходного кода в виде отдельных модулей в браузере. Автонумерация сущностей (включая с префиксацией) Управление версиями объектов — предотвращение сохранения объекта, если тот же объект был изменен в другом сеансе. Сильно не пинайте. Это мой первый пост на habr.com