An open API service indexing awesome lists of open source software.

https://github.com/bodrovis/mcsanswer

Игра "вопрос-ответ"
https://github.com/bodrovis/mcsanswer

rails ruby

Last synced: 4 months ago
JSON representation

Игра "вопрос-ответ"

Awesome Lists containing this project

README

          

# Сервис для проведения спортивной версии "вопрос-ответ"

Можно играть одной командой, можно несколькими в онлайне. Есть админка для добавления команд, турниров и вопросов. Можно играть за капитана, обычного игрока и админа. Если играешь за админа, то можешь задавать вопросы, ответы всякие нобигают. Корованы грабить нельзя.

## Требования

* Ruby 3.3
* Yarn 3
* Postgres
* Redis 7+ (просто достаточно запустить на стандартом порте 6379). С Memurai должно работать, но, кажется, по факту работает плохо.

## Запуск

Всё устанавливаем и создаём:

```
gem install foreman
bundle i
yarn i
rails db:create:all
rails db:migrate
```

Делаем админа

```
rails c
User.create email: "ex@ex.com", password: "your_pass", password_confirmation: "your_pass", name: "name", role: :admin
```

Создаём файл `.env` в корне с вот таким содержимым:

```
PG_PASS=pass
PG_USER=postgres
```

Заменяем на своего юзера postgres и его пароль.

Запускаем

```
bin\dev (это если nix)
s.cmd (если win)
```

В приложении используется recaptcha и, в идеале, для неё надо добавить свои ключи, но можно этого не делать, а просто изменить методы [тут](https://github.com/bodrovis/MCSAnswer/blob/master/app/controllers/sessions_controller.rb#L37) и [тут](https://github.com/bodrovis/MCSAnswer/blob/master/app/controllers/users_controller.rb#L70), написав

```ruby
def verify_captchas
true
end
```

## Использование

Логинимся за админа, в админке добавляем команду и игроков (которые должны зарегистрироваться в сервисе). Игроков можно не делать, если играет одна команда и ответы сдаются голосом, а не через систему. Добавляем в админке турнир, вопросы и ответы. Заходим в добавленный турнир на странице турниров и нажимаем "начать". На странице результатов видны все ответы, их можно принимать или отклонять. Если играет одна команда и ответы сдаются голосом, то предварительно надо нажать "заполнить пустыми" и вводить сданные ответы руками.

## Копирайты

Распространяется под лицензией [beerware](./LICENSE.md).

(c) 2022 [Ilya Krukowski](http://bodrovis.tech) - автор всего этого безобразия. [GuideDAO](https://www.guidedao.xyz/) - платформа, участники которой милостиво согласились в это играть.