add tests for controllers and ActionCable channels; improve main backend docs

This commit is contained in:
2026-10-27 10:32:40 +03:00
parent b122cbb652
commit 50e8aacfa9
17 changed files with 1127 additions and 63 deletions
+29 -13
View File
@@ -1,24 +1,40 @@
# README
# Ruby Sea Battle — Main Server
This README would normally document whatever steps are necessary to get the
application up and running.
Главный бэкенд многопользовательской онлайн-игры «Морской бой», написанный на Ruby on Rails 8.
Things you may want to cover:
## Документация
* Ruby version
- [API.md](API.md) — спецификация REST API и WebSocket Action Cable
- [docs/matchmaking.md](docs/matchmaking.md) — детальное описание алгоритма матчмейкинга, структур Redis и Lua-скриптов
- [docs/architecture.md](docs/architecture.md) — общая архитектура сервера, стек компонентов и модель безопасности
* System dependencies
## Требования
* Configuration
- Ruby 3.4+ / 4.0
- SQLite 3 (для разработки и тестов) / PostgreSQL (production)
- Redis 6+ (для очередей матчмейкинга и Action Cable)
* Database creation
## Установка и запуск
* Database initialization
```bash
# 1. Установка зависимостей
bundle install
* How to run the test suite
# 2. Подготовка базы данных
bin/rails db:prepare
* Services (job queues, cache servers, search engines, etc.)
# 3. Запуск сервера разработки (Puma на порту 3000)
bin/rails server
```
* Deployment instructions
## Тестирование
* ...
Проект полностью покрыт тестами на RSpec (модели, сервисы, контроллеры, Action Cable каналы и фоновые задачи).
```bash
# Запуск полного набора тестов
bundle exec rspec
# Запуск тестов со сбором отчета о покрытии кода (SimpleCov)
COVERAGE=true bundle exec rspec
```