Skip to content

Latest commit

 

History

History
106 lines (67 loc) · 5.02 KB

File metadata and controls

106 lines (67 loc) · 5.02 KB

starterKit Architecture

Архитектурное описание стартового репозитория и его зон ответственности

Structure Docs


Содержание


Системный обзор

Этот репозиторий является каркасом для будущих проектов. Архитектура здесь описывает не конечный продукт, а способ организации нового решения вокруг нескольких изолированных зон

Зона Назначение
app/ Прикладные приложения будущего проекта
packages/ Общие пакеты, библиотеки и переиспользуемые модули
docs/ Архитектурные и процессные документы
infrastructure/ Контейнеризация, CI/CD и служебные сценарии

Зоны ответственности

app/

Сюда помещаются исполняемые части будущего продукта: frontend, backend, mobile или административные приложения. Точные подкаталоги зависят от форка и выбранного стека

packages/

Здесь хранятся общие модули, которые не должны зависеть от конкретного приложения: конфиг, UI-kit, общие типы, утилиты и доменные библиотеки

docs/

Папка для описания структуры, правил, контрактов и решений, которые нужны новой команде на старте проекта

infrastructure/

Зона для Docker, CI/CD, web server конфигураций, скриптов развёртывания и вспомогательной автоматизации


Ключевые потоки

Старт нового проекта

  1. Команда форкает репозиторий.
  2. Выбирается набор нужных зон в app/ и packages/.
  3. Документация в docs/ уточняется под конкретный продукт.
  4. Инфраструктура в infrastructure/ настраивается под среду доставки.
  5. Репозиторий превращается в полноценный проект без изменения базовой формы

Расширение структуры

  1. Появляется новая область ответственности
  2. Для неё создаётся отдельная папка или поддерево
  3. К ней добавляется собственный документ с правилами и границами
  4. Новая область не смешивается с уже существующими

Границы расширения

Вопрос Ответ
Можно ли добавлять новые приложения? Да, если они помещаются в app/ и имеют понятную ответственность
Можно ли добавлять новые общие пакеты? Да, если они пригодны для повторного использования
Можно ли менять базовую структуру? Только если проекту действительно нужна другая форма
Нужно ли документировать новые зоны? Да, каждая новая зона должна иметь свой документ

Нефункциональные требования

Требование Подход
Понятность Каждая папка имеет одно назначение
Масштабируемость Структура допускает рост без переписывания основания
Поддерживаемость Документация отделена от реализации
Повторяемость Новый проект собирается из того же каркаса