Тренажер английских слов

Реализуйте тренажер для заучивания английских слов.

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

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

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

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

Ввод слов

Пользователь вводит слова в textarea. Каждая пара слов вводится с новой строки в формате: "английское слово пробел перевод". При нажатии на кнопку "Сохранить слова" они добавляются в таблицу и сохраняются на сервере.

Таблица слов

На странице таблицы выводится список всех слов пользователя с колонками:

Фильтрация слов

Переключатель позволяет вывести:

Режимы тренажера

Тренажер имеет два режима работы:

Работа тренажера

При запуске тренажера показывается случайное слово из списка "для заучивания". Пользователь вводит перевод в инпут и нажимает кнопку:

Система запоминания

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

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

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

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

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

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