Skip to content

newaaz/Thinknetica_TestGuru

Repository files navigation

Test Guru - приложение для создания, управления и прохождения тестов

Разработано в ходе прохождения курса "Основы Rails" в online-школе "Thinknetica"

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

Сущности

Test – множество вопросов объединённых одной тематикой и принадлежащих этому тесту.

Question – вопросы принадлежащие конкретному тесту. Каждый вопрос содержит id правильного ответа.

Answer – ответы принадлежащие определённому вопросу.

User – пользователи приложения (обычные и администраторы).

TestPassage – прогресс прохождения пользователем конкретного теста.

Badge – награды получаемые пользователем за прохождение тестов. Устанавливаются администратором. Возможны за:

  • прохождение всех тестов определённой категории
  • прохождение всех тестов определённого уровня сложности
  • успешное прохождение теста с первой попытки

Механизм определения получения наград использует принцип единой обязанности

Gist – разработанный с применением внешнего API сервис для создания GithubGists. Если пользователь не знает ответа на текущий вопрос – он может создать gist содержащий текст вопроса и получить ссылку на него. Администратор может просматривать все созданные gists.

##Основной функционал

  • Создание тестов и управление ими:
    • Добавление вопросов к тестам
    • Добавление ответов к вопросам
    • CRUD тестов/вопросов/ответов
    • Установка таймера(время за которое нужно пройти тест). При истечении времени таймера тест считается не пройденным.
    • Создание наград и определение условий их получения
  • Аутентификация пользователей
  • Базовые разграничения прав доступа (User/Admin)
  • Прохождение тестов
  • Просмотр полученных наград на странице своего профиля
  • Сохранение прогресса прохождения теста, с возможностью вернуться к тесту с текущего не отвеченного вопроса (если не истёк таймер)
  • Возможность создать GithubGist с непонятным вопросом

Stack:

  • Ruby version ruby 3.0.2

  • Rails version Rails 6.1.4

About

App for creating, managing and passing tests

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published