Skip to content

Commit 98d2860

Browse files
committed
upd README.md
1 parent b05c7c1 commit 98d2860

File tree

2 files changed

+123
-25
lines changed

2 files changed

+123
-25
lines changed

README.md

Lines changed: 50 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,63 @@
1-
# cpp-backend-template
1+
# Dog Story
22

3-
Шаблон репозитория для практического трека «C++ backend».
3+
**Dog Story** — серверная часть браузерной игры на C++, демонстрирующая современную модульную архитектуру и интеграцию веб-технологий. Проект создан как pet‑проект для отработки навыков разработки серверной части браузерных игр и может быть включён в резюме.
44

5-
# Начало работы
5+
---
66

7-
Склонируйте репозиторий в любую подходящую директорию на вашем компьютере.
7+
## 📐 Архитектура
88

9-
# Обновление шаблона
9+
Система разделена на четыре уровня:
1010

11-
Чтобы иметь возможность получать обновления автотестов и других частей шаблона выполните следующую команду:
11+
1. **Сервер**
12+
- Принимает входящие HTTP-запросы
13+
- Раздаёт статику (HTML/JS/CSS) из каталога `static`
14+
- Перенаправляет игровые API‑запросы в HTTP‑обработчик
1215

13-
```
14-
git remote add -m main template https://github.com/cpppracticum/cpp-backend-template-practicum-november.git
15-
```
16+
2. **HTTP‑обработчик**
17+
- Парсит и роутит запросы
18+
- Формирует вызовы прикладного слоя (Application) для дальнейшей обработки
1619

17-
Для обновления шаблона выполните команду:
20+
3. **Прикладной слой**
21+
- Оркеструет игровые сценарии
22+
- Взаимодействует с моделью игрового мира
23+
- Управляет состоянием и бизнес‑логикой
1824

19-
```
20-
git fetch template && git checkout template/main .github
21-
```
25+
4. **Модель игрового мира**
26+
- Хранит данные об игроках, объектах и событиях
27+
- Инкапсулирует все правила игры и логику взаимодействия
2228

23-
Затем добавьте полученные изменения в свой репозиторий.
29+
---
2430

25-
# Тестирование в Github Actions
31+
## 🛠 Технологический стек
2632

27-
При отправке (push) изменений в ветку main репозитория будет запущен пайплайн Github Actions,
33+
- **C++17** — основной язык разработки для максимальной производительности
34+
- **Boost** (Asio, Beast и сопутствующие модули) — асинхронный ввод‑вывод и HTTP
35+
- **CMake** — система сборки и управления зависимостями
36+
- **Docker** — контейнеризация и унифицированное окружение для деплоя
37+
38+
---
39+
40+
## 🎯 Цели проекта
41+
42+
- Разработка производительного backend‑сервера на современном C++
43+
- Применение принципов модульного дизайна и разделения ответственности
44+
- Практика работы с Boost.Asio/Beast для реализации асинхронного HTTP‑сервера
45+
- Освоение инструментов CMake и Docker для сборки и деплоя
46+
- Создание примера полного клиент‑серверного приложения для портфолио
47+
48+
---
49+
50+
## 🚀 Запуск
51+
52+
53+
---
54+
55+
## 📚 Используемые библиотеки
56+
57+
- **Boost.Asio** — асинхронный ввод‑вывод
58+
- **Boost.Beast** — HTTP‑сервер и клиент
59+
- **Boost.System** — обработка ошибок и коды состояния
60+
- **Boost.Filesystem** — работа с файловой системой
61+
- **C++ Standard Library (STL)**
2862

29-
(https://github.com/cpppracticum/cpp-backend-template-practicum-november/actions),
3063

31-
который позволит увидеть результат прохождения тестов.

sprint4/problems/leave_game/solution/README.md

Lines changed: 73 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,75 @@
1-
## Запуск сервера в Docker
1+
# Dog Story
2+
3+
**Dog Story** — серверная часть браузерной игры на C++, демонстрирующая современную модульную архитектуру и интеграцию веб-технологий. Проект создан как pet‑проект для отработки навыков разработки серверной части браузерных игр и может быть включён в резюме.
4+
5+
---
6+
7+
## 📐 Архитектура
8+
9+
Система разделена на четыре уровня:
10+
11+
1. **Сервер**
12+
- Принимает входящие HTTP-запросы
13+
- Раздаёт статику (HTML/JS/CSS) из каталога `static`
14+
- Перенаправляет игровые API‑запросы в HTTP‑обработчик
15+
16+
2. **HTTP‑обработчик**
17+
- Парсит и роутит запросы
18+
- Формирует вызовы прикладного слоя (Application) для дальнейшей обработки
19+
20+
3. **Прикладной слой**
21+
- Оркеструет игровые сценарии
22+
- Взаимодействует с моделью игрового мира
23+
- Управляет состоянием и бизнес‑логикой
24+
25+
4. **Модель игрового мира**
26+
- Хранит данные об игроках, объектах и событиях
27+
- Инкапсулирует все правила игры и логику взаимодействия
28+
29+
---
30+
31+
## 🛠 Технологический стек
32+
33+
- **C++17** — основной язык разработки для максимальной производительности
34+
- **Boost** (Asio, Beast и сопутствующие модули) — асинхронный ввод‑вывод и HTTP
35+
- **CMake** — система сборки и управления зависимостями
36+
- **Docker** — контейнеризация и унифицированное окружение для деплоя
37+
38+
---
39+
40+
## 🎯 Цели проекта
41+
42+
- Разработка производительного backend‑сервера на современном C++
43+
- Применение принципов модульного дизайна и разделения ответственности
44+
- Практика работы с Boost.Asio/Beast для реализации асинхронного HTTP‑сервера
45+
- Освоение инструментов CMake и Docker для сборки и деплоя
46+
- Создание примера полного клиент‑серверного приложения для портфолио
47+
48+
---
49+
50+
## 🚀 Запуск
51+
52+
> **Инструкция по сборке и запуску (пример)**
53+
> *(будет детализирована позднее)*
54+
>
55+
> ```bash
56+
> git clone https://github.com/Add-JDHero/cppbackend.git
57+
> cd cppbackend
58+
> mkdir build && cd build
59+
> cmake ..
60+
> make
61+
> docker build -t dog-story-backend .
62+
> docker run -p 8080:8080 dog-story-backend
63+
> ```
64+
65+
---
66+
67+
## 📚 Используемые библиотеки
68+
69+
- **Boost.Asio** — асинхронный ввод‑вывод
70+
- **Boost.Beast** — HTTP‑сервер и клиент
71+
- **Boost.System** — обработка ошибок и коды состояния
72+
- **Boost.Filesystem** — работа с файловой системой
73+
- **C++ Standard Library (STL)**
274
3-
### Сборка и запуск контейнера
4-
```sh
5-
docker compose up --build
6-
```
775
8-
## View result
9-
http://localhost:8080

0 commit comments

Comments
 (0)