Данный репозиторий содержит клиентское веб-приложение Dashboard, разработанное в рамках курсового проекта по дисциплине «Проектирование и конструирование программного обеспечения». Основная цель приложения Dashboard — предоставить хостам удобный и гибкий интерфейс для управления конфигурацией своих игровых сессий, включая настройки доступа и списки пользователей.
Dashboard обеспечивает следующие возможности:
- Регистрация и Авторизация: Пользователи могут зарегистрировать новый аккаунт или войти в существующий, используя свой уникальный UUID.
- Управление настройками доступа к сессии:
- Разрешение/запрет входа неавторизованным пользователям.
- Разрешение/запрет входа пользователям, не состоящим в списке друзей.
- Управление списками пользователей:
- Добавление и удаление пользователей из списка друзей.
- Добавление и удаление пользователей из списка заблокированных.
Dashboard является клиентским приложением и взаимодействует с центральным управляющим сервисом Gateway через REST API. Gateway, в свою очередь, маршрутизирует запросы к сервисам Auth (для аутентификации) и Hosts (для управления конфигурацией хоста). Используемые технологии:
- Фронтенд: React с TypeScript
- Взаимодействие с API: HTTP-запросы к сервису Gateway.
- Валидация: Клиентская валидация полей (например, формата UUID) для снижения нагрузки на сервер и улучшения пользовательского опыта.
Страница входа:
Страница новой конфигурации хоста:
Страница конфигурации хоста (пример с заблокированным пользователем):