Skip to content

IU-Capstone-Project-2025/DeathRoom

Repository files navigation

DeathRoom - Документация проекта

Обзор

DeathRoom — это многопользовательская игра в жанре шутера от первого лица, реализованная с использованием Unity (клиент) и .NET 8 (сервер). Проект следует принципам Clean Architecture и Domain-Driven Design.

Структура документации (C4 Model)

Документация организована согласно подходу C4 (Context, Containers, Components, Code) и разделена по уровням детализации:

docs/
├── README.md                           # Этот файл
├── context/                            # Уровень 1: Контекст системы
│   ├── system-context.md              # Контекстная диаграмма
│   └── system-overview.md             # Обзор системы
├── containers/                         # Уровень 2: Контейнеры
│   ├── containers-overview.md         # Обзор контейнеров
│   ├── client-container.md            # Unity клиент
│   └── server-container.md            # .NET сервер
├── components/                         # Уровень 3: Компоненты
│   ├── client-components.md           # Компоненты клиента
│   ├── server-components.md           # Компоненты сервера
│   └── shared-components.md           # Общие компоненты
├── code/                              # Уровень 4: Код
│   ├── api/                           # API документация
│   ├── database/                      # Схемы данных
│   └── deployment/                    # Развертывание
├── architecture/                       # Архитектурные решения
│   ├── decisions/                     # ADR (Architecture Decision Records)
│   ├── patterns/                      # Используемые паттерны
│   └── principles/                    # Принципы архитектуры
├── development/                        # Разработка
│   ├── setup.md                       # Настройка окружения
│   ├── coding-standards.md            # Стандарты кодирования
│   └── testing.md                     # Тестирование
└── operations/                        # Эксплуатация
    ├── deployment.md                  # Развертывание
    ├── monitoring.md                  # Мониторинг
    └── troubleshooting.md             # Устранение неполадок

Уровни C4 модели

Уровень 1: Контекст (Context)

  • Цель: Показать систему в контексте пользователей и внешних систем
  • Аудитория: Все заинтересованные стороны
  • Содержание:
    • Контекстная диаграмма системы
    • Основные пользователи и их цели
    • Внешние системы и интеграции

Уровень 2: Контейнеры (Containers)

  • Цель: Показать высокоуровневую техническую архитектуру
  • Аудитория: Технические руководители и архитекторы
  • Содержание:
    • Unity клиент (C#)
    • .NET сервер (C#)
    • Сетевое взаимодействие
    • Технологический стек

Уровень 3: Компоненты (Components)

  • Цель: Показать основные компоненты внутри каждого контейнера
  • Аудитория: Разработчики и архитекторы
  • Содержание:
    • Компоненты клиента (UI, сеть, игровая логика)
    • Компоненты сервера (Domain, Application, Infrastructure)
    • Общие компоненты (DTO, сетевые пакеты)

Уровень 4: Код (Code)

  • Цель: Детальная документация реализации
  • Аудитория: Разработчики
  • Содержание:
    • API документация
    • Схемы данных
    • Диаграммы классов
    • Примеры кода

Технологический стек

Клиент (Unity)

  • Unity 2022.3 LTS - игровой движок
  • C# - язык программирования
  • LiteNetLib - сетевая библиотека
  • MessagePack - сериализация данных
  • Universal Render Pipeline - графический пайплайн

Сервер (.NET)

  • .NET 8 - платформа разработки
  • C# - язык программирования
  • LiteNetLib - сетевая библиотека
  • MessagePack - сериализация данных
  • Clean Architecture - архитектурный паттерн
  • DDD - Domain-Driven Design

Быстрый старт

  1. Клонирование репозитория:

    git clone <repository-url>
    cd DeathRoom
  2. Запуск сервера:

    cd server
    dotnet run --project DeathRoom-Backend/DeathRoom-Backend.csproj
  3. Запуск клиента:

    • Открыть проект в Unity
    • Настроить адрес сервера в Client.cs
    • Запустить сцену

Структура проекта

DeathRoom/
├── client/                    # Unity клиент
│   ├── Assets/
│   │   ├── Scripts/          # C# скрипты
│   │   ├── Scenes/           # Игровые сцены
│   │   └── Prefabs/          # Префабы
│   └── Packages/              # Unity пакеты
├── server/                    # .NET сервер
│   ├── DeathRoom-Backend/     # Точка входа
│   ├── DeathRoom.Application/ # Бизнес-логика
│   ├── DeathRoom.Domain/      # Доменная модель
│   ├── DeathRoom.Common/      # Общие компоненты
│   └── DeathRoom.Infrastructure/ # Инфраструктура
└── docs/                      # Документация (эта папка)

Навигация по документации

Обновление документации

Документация должна обновляться при:

  • Изменении архитектуры
  • Добавлении новых компонентов
  • Изменении API
  • Обновлении технологического стека

Контакты

Для вопросов по документации обращайтесь к команде разработки.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 7