Данный репозиторий содержит обучающие материалы по пользованию фреймворком aom, и описывает
популярные кейсы, лучшие практики и методологии пользования.
Репозиторий содержит примеры кода и позволяет применить на практике описанные материалы.
Базовая документация доступна по ссылке aom.js.org. Данный репозиторий рассматривает
общие и типовые случаи применения фреймворка на примере популярных бизнес-кейсов: работа со справочниками,
доступ к данным, масштабируемость, безопасность.
- Пример создания API
api-create - Рекомендации организации файлов
recommendations - Общие ответы (рендеры и типовые ошибки)
common-responses - Роутеры из схем данных
schemas-to-controllers - Комбинации маршрутов
routes-combinations - Валидация входящих данных
body-validation - Поиск данных
query-search - Права доступа и ограничения вызовов
access-control
На данный момент на базе aom функционируют следующие проекты, написанные мною единолично:
- API методологической платформы
play.thegame.bz: ~500 эндпоинтов в 8 сервисах
- в разработке несколько крупных проектов с совокупным количеством точек обмена данными >200 в каждом
Таким образом создается возможность делегировать удачный опыт и развивать удобный и функциональный
методологический блок, позволяющий быстро и комфортно решать большие бизнес-задачи. В планах много
наработок по расширению возможностей фреймворка, более строгой его типизации и области применения:
расширенная генерация кода, поддержка GraphQL, создание общих областей данных.
Документацию лучше всего читать, копируя примеры кода в собственный редактор, и экспериментально манипулируя деталями, чтобы лучше понимать закономерности, заложенные в код. Приведенные примеры не обязательно будут работоспособны из коробки без соблюдения общего контекста.
Также существует репозиторий aom-js/demo, в котором собран
базовый кейс на примерах, описанных в подразделах: можно запустить и работать на живом коде.
Меня зовут Григорий Холстинников, в разных сообществах всегда был представлен по нику scarych.
Я программист с давним стажем: первую программу на ZX Spectrum написал в 11 лет, с последующим погружением
в программирование на всю дальнейшую жизнь. Имею опытом разной степени погружения в Basic, C++, Pascal,
Perl, Python, Scala, Java, PHP, JavaScript, а также разные технологии баз данных и серверных приложений.
На протяжении последних ~20 лет решаю бизнесовые задачи в веб-разработке: создание собственных CMS, CRM,
автоматизация крупных бизнес-задач, разработка стартапов. В общем случае был занят разработкой собственного
фреймворка, на котором мне было бы удобно делать то, что я находил неудобным в популярных решениях типа Yii,
Laravel, WordPress, Bitrix, Meteor, NextJS. С 2014 года веду разработку на NodeJS, эволюционно
вовлекаясь в использование express затем koa, MongoDB, Kafka и других архитектурных решений.
Результатом моей работы в общих случаях было создание сложно-составных программных продуктов со специфической функциональностью:
- cоциальная платформа
THEGAME - стартап онлайн-аукционов встреч с людьми
Meet For Charity - сервис автоматизации сбора данных от полевых сотрудников
UNIO - ряд промежуточных проектов, существоваших в разные годы, или не запущенных: онлайн-магазин одежды
CloClo, коммуникативная платформаmonmio.top, сервис сбора пользовательской обратной связиProbleme Net, экологическая платформаTreepay, процессинг договоровMindfields, сайт кланаSteelHeartsигрыБойцовский Клуби несколько других.
В 2021 году формализовал ряд удачных решений в мета-фреймворк на декораторах aom. В настоящее время
доступна стабильная beta-версия, которая будет предсказуемо развиваться в более сложное решение,
придерживаясь общей концепции всей методологии.
Среди критериев требований к функционалу были в том числе такие, как воспринимаемая простота кода и общее удобство
пользования. Код должен читаться естественно и давать предельно полную ожидаемую информацию о себе, и позволять
можно применять повторно типовые решения, комбинируя популярные кейсы требований к данным. Буквально обеспечивая
прослойку безопасного API поверх моделей данных. Отсюда и название aom - API over models.
С момента beta-релиза фреймворка на нем было запрограммировано несколько бизнес-проектов с высокой степенью
сложности предметной области: десятки справочников, высокая степень связанности данных и сложные бизнес-логики,
сотни эндпоинтов в API. Исходный код лишен многих головных болей, которые были мною были обнаружены в готовых
популярных решениях, однако может быть лишен ряда полезных вещей, которые могут с разной степенью комфорта туда
интегрированы.
Уже наработан хороший набор готовых решений, которые позволяют типичным образом решать сложные бизнес-задачи. Код стабильно себя ведет на высоких нагрузках и больших объемах данных. Есть множество идей развития локальной и общей функциональности, а также библиотек готовых элементов и решений.
К партнерству приглашаются заинтересованные специалисты для взаимовыгодного сотрудничества: уже существует задокументированная практика и функционирует ряд действующих проектов, требующих развития и поддержки. И будут появляться новые.
Заинтересован в сотрудничестве с квалифицированными программистами для совместной работы над большими проектами.
Контактные данные:
- Discord
aom.js - Email mail@scarych.ru
- Telegram @scarych