Сервис для мониторинга игровых серверов minecraft (далее просто - игровой сервер). Он позволяет владельцам игровых серверов опубликовывать их творения, а игрокам просматривать самые новые игровые сервера. При этом сервис регулярно проводит проверку состояний всех новых опубликованных игровых серверов в списке, чтобы отфильтровывать недоступные (выключеннные) игровые сервера.
Целевая аудитория:
- Игроки minecraft
- Владельцы игровых серверов minecraft
Демонстрация: https://new-servers.ru
Полное приложение имеет микросервисную архитектуру и состоит из 2 REST сервисов:
- Backend - сервис для хранения списка серверов, регистрации пользователей (текущий репозиторий)
- Pinger - сервис для проверки статусов серверов (https://github.com/GreenpixDev/MonitoringPinger)
При разработке использовались данные технологии:
- Kotlin
- Gradle (Kotlim DSL)
- Spring boot 3
- Spring webflux
- Spring security
- Spring mail
- SpringDoc OpenAPI
- JWT (jjwt)
- PostgreSQL
- R2dbc
- Flyway
- Docker
- Возможность пользователю просматривать список доступных игровых серверов, их версию
- Возможность пользователю регистрироваться в системе
- Возможность зарегистрированному пользователю добавлять в список новый игровой сервер по его IP адресу
- Регулярная проверка состояний (статус включен/выключен, количество игроков на сервере) игровых серверов с помощью другого микросервиса
- Поддержка ReCaptcha
UML диаграмма классов
UML use cases
- Ссылка на демонстрацию: https://new-servers.ru
- Ссылка на репозиторий "Сервиса проверки статусов серверов": https://github.com/GreenpixDev/MonitoringPinger