1.6 KiB
1.6 KiB
Ruby Sea Battle — Main Server
Главный бэкенд многопользовательской онлайн-игры «Морской бой», написанный на Ruby on Rails 8.
Документация
- API.md — спецификация REST API и WebSocket Action Cable
- docs/matchmaking.md — детальное описание алгоритма матчмейкинга, структур Redis и Lua-скриптов
- docs/architecture.md — общая архитектура сервера, стек компонентов и модель безопасности
Требования
- Ruby 3.4+ / 4.0
- SQLite 3 (для разработки и тестов) / PostgreSQL (production)
- Redis 6+ (для очередей матчмейкинга и Action Cable)
Установка и запуск
# 1. Установка зависимостей
bundle install
# 2. Подготовка базы данных
bin/rails db:prepare
# 3. Запуск сервера разработки (Puma на порту 3000)
bin/rails server
Тестирование
Проект полностью покрыт тестами на RSpec (модели, сервисы, контроллеры, Action Cable каналы и фоновые задачи).
# Запуск полного набора тестов
bundle exec rspec
# Запуск тестов со сбором отчета о покрытии кода (SimpleCov)
COVERAGE=true bundle exec rspec