Стек технологий по умолчанию

В каждом проекте уникальная ситуация и выбор технологий должен определяться целесообразностью.

Back

Java

  1. Spring Boot

  2. Спецификация серверного API — OpenAPI, Hurdy-Gurdy

  3. ORM, миграция — Celesta

  4. Тестирование — Junit5, Celesta-H2

Python

  1. Flask

  2. Спецификация серверного API — GraphQL, Graphene

  3. ORM, миграция — SQLAlchemy, Flask-Migrate

  4. Тестирование бизнес-логики — pytest, SQLAlchemy-SQLite

СУБД

Безопасность в части разграничения доступа к данным

  1. Создание отдельного Security DAO-слоя с безопасными курсорами

  2. Для целей аттестации — использование для доступа представлений вида субъект-объект. Допускается использовать только сертифицированные СУБД

  3. Поддержка сессии либо через JWT, либо через Mellophone, либо через любой сервер, обеспечивающий единую аутентификацию

Front

  1. Typescript

  2. Автогенерирование кода:

  3. Интерфейс — Vue, Vuetify

  4. Для больших гридов (миллионы записей) с плавной прокруткой — Lyra

Документация

DevOps

  1. Данные для тестирования создаются в виде идемпотентных запросов Ansi SQL, которые работают идентично на in-memory СУБД, используемых для теситрвоания бизнес-логики, и продуктивных СУБД

  2. CI/CD — GitHub Actions