Тренажер JavaScript

Реализуйте тренажер для заучивания JavaScript методов и функций.

Продумайте структуру базы данных для хранения пользователей и вопросов по JavaScript. В коде должен быть заранее подготовлен массив с вопросами (описание функции, правильный ответ и категория). Реализуйте регистрацию и авторизацию пользователей. Настройте серверную часть для работы с API. Все операции должны выполняться через AJAX-запросы без перезагрузки страницы.

Основные возможности проекта

Регистрация и авторизация

На сайте должна быть реализована регистрация и авторизация пользователей:

Главная страница

На странице должны быть размещены:

Категории

Пользователь может выбрать категорию вопросов:

Вопросы

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

Таймер

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

Сброс прогресса

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

Завершение

Когда все вопросы в выбранной категории пройдены правильно, тренажер поздравляет пользователя и предлагает пройти заново.

Взаимодействие с сервером

Все операции выполняются через AJAX-запросы:

Дополнительные возможности