Приложение B. Доменная карта AgentClinic
AgentClinic — учебный проект, на котором показывается SDD-цикл. Это маленькое сатирическое приложение про «клинику» для программных агентов.
Домен нужен не ради шутки. Он даёт достаточно сущностей, чтобы показать маршруты, базу данных, фазы, проверки и расширение MVP, но остаётся простым.
Сущности
| Сущность | Что означает | Пример |
|---|---|---|
| Агент | программный помощник или бот | «SpecWriter», «BugFixer» |
| Недуг | повторяющаяся проблема агента | «галлюцинирует API», «рефакторит без спроса» |
| Терапия | способ помочь агенту | «строгий validation.md», «короткая сессия после /clear» |
| Запись на приём | заявка пользователя | имя, сообщение, выбранный недуг |
| Отзыв | обратная связь о клинике | имя, сообщение, дата |
Минимальные маршруты
К концу учебника проект может иметь такие маршруты:
| Маршрут | Смысл |
|---|---|
/ | главная страница |
/agents | список агентов |
/agents/:id | карточка агента и связанные недуги |
/ailments | список недугов |
/therapies | список терапий |
/appointments | форма записи |
/feedback | форма обратной связи |
| /dashboard | простая панель администратора |
Не все маршруты нужны в первой фазе. В SDD важно не построить всё сразу, а последовательно добавлять проверяемые фрагменты.
Возможные таблицы SQLite
agents
id
name
description
ailments
id
title
description
therapies
id
title
description
agent_ailments
agent_id
ailment_id
appointments
id
name
message
ailment_id
created_at
feedback
id
name
message
created_at
Это не обязательная схема. Она нужна как ориентир для спецификаций и фактов проверки.
Как домен раскладывается по фазам
| Фаза | Поставляемый результат | Минимальные факты |
|---|---|---|
| Hello Hono | приложение отвечает на / | GET / возвращает 200 |
| Агенты и недуги | список агентов и карточка агента | есть связанный список недугов |
| Терапии | страницы способов лечения | маршруты возвращают 200 |
| Запись на приём | форма и сохранение заявки | невалидная форма отклоняется |
| Обратная связь | форма отзывов | последние отзывы видны после сохранения |
| Панель администратора | счётчики сущностей | счётчики совпадают с базой |
Что не входит в учебный домен
Чтобы проект оставался учебным, не добавляйте без отдельной спецификации:
- настоящую медицинскую терминологию;
- реальные персональные данные;
- платёжные сценарии;
- авторизацию с ролями;
- внешнюю отправку писем;
- сложные графики;
- интеграции с реальными сервисами.
Если хочется добавить такую функцию, сделайте её отдельной фазой и начните с requirements.md, plan.md и validation.md.
Доменный словарь для спецификаций
Используйте одинаковые слова во всех главах и спецификациях:
- «агент», а не вперемешку «бот», «ассистент», «модель»;
- «недуг», а не «проблема» в одном файле и «симптом» в другом;
- «терапия», а не «решение» там, где речь о доменной сущности;
- «запись на приём», а не «заявка» без пояснения;
- «отзыв», а не «feedback» в русском тексте.
Технические имена маршрутов, таблиц и файлов оставляйте на английском, если они уже используются в коде.