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