Проектирование, дизайн и разработка проекта для "аддона в Dota2". Проект состоит из 3х основных частей/репозиториев.
WEB-клиент (React, ReactQuery). SPA приложение для отображения лучших игроков, сыгранных матчей, статистики матчей, героев и т.д.
Сервер (Nest.js, PostgreSQL, PrismaORM). Хранит информацию обо всех сыгранных играх, статистику и рейтинг игроков.
- Получение данных от Steam API очень ограниченно, поэтому в том числе используется эмуляция "клиента Dota2" для получения некоторых данных;
- Автоматическая генерация документации (Swagger);
Карта для Dota2 (React, TS, Webback), наверно представляет наименьший интерес для заказчиков на этом сайте, и сам я не планирую делать подобного на заказ. Но это ядро всего проекта, и вот пара особенностей:
- Данные из игры на сервер передаются с защитой от подделки запросов;
- Заложена плотная интеграция с сервером (можно с сервера менять правила в матче, отправлять метрики из матча в прямом эфире);
- Пользователи положительно отмечают продуманный UI, удобство настроек и функции которые помогают начать матч намного быстрее чем обычно;
- Логирование ошибок в игре через свой сервер;
Технические особенности:- Использование TypeScript во всех репозиториях;
- Отдельный пакет с типизацией основных сущностей, в котором в том числе присутствуют "контракты" написанные с ZOD, для валидации форм и данных;
- Автоматическая доставка обновлений с помощью Github Actions;
Ссылка на сайт: dota1x1.com