Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Введение

Что такое nice-pea-chat - Полноценный мессенджер - приложение, сервер и обвязка

Цель документа - Составить общую картину, наращивать функционал требуемый функционал и не сбиться🦥

Область применения - Нет

Глоссарий

ключевые термины и сокращения

Предметная область - Часть реального мира, рассматриваемая в пределах данного контекста

Сущность - Описание объекта предметной области

Модель - Сущность описанная в коде

Обзор системы

Архитектурный стиль - service-oriented architecture(SOA).

Высокоуровневая диаграмма компонентов системы

todo

Детальный дизайн

Компоненты системы

Описание каждого значимого компонента:
Назначение
Ответственность
Интерфейсы (API, события)
Зависимости

API Design

Принципы проектирования (REST, GraphQL, gRPC)
Важные эндпоинты с примерами
Схемы данных (DTO, модели)
Аутентификация/авторизация

Модель данных

ER-диаграмма или схема данных
Стратегия миграций (если применимо)

Описание сущностей и их отношений

Чат

Структура:

  • Идентификатор
  • Название чата - может меняться, неуникальное
  • идентификатор главного администратора - может меняться

Интеграции

Внешние системы и протоколы взаимодействия
Форматы сообщений/событий
Схемы интеграции (синхронная/асинхронная)

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

Масштабируемость

Горизонтальное/вертикальное масштабирование

Надежность

Стратегии обработки ошибок
Механизмы retry
Резервирование

Операционные аспекты

Логирование (формат, уровни, ротация)
Мониторинг (метрики, алерты)
Развертывание (CI/CD, стратегии)
Резервное копирование

Приложения

Диаграммы (последовательностей, состояний и т.д.)

Ссылки на дополнительные материалы