Неправильные глаголы
Реализуйте сервис для заучивания неправильных глаголов английского языка.
Продумайте структуру базы данных для хранения пользователей и глаголов. В коде должен быть заранее подготовлен массив с основными неправильными глаголами (не менее 50) с тремя формами: инфинитив, Past Simple, Past Participle. Реализуйте регистрацию и авторизацию пользователей. Все операции должны выполняться через AJAX-запросы без перезагрузки страницы.
Основные возможности проекта
- Регистрация и авторизация пользователей.
- Режим карточек с кнопками "Знаю" и "Не знаю".
- Показ всех трех форм глагола при нажатии "Не знаю".
- Система запоминания с интервальным повторением.
- Таблица всех глаголов с фильтрацией по статусу.
- Кнопка сброса прогресса.
- Все операции выполняются через AJAX без перезагрузки страницы.
Регистрация и авторизация
На сайте должна быть реализована регистрация и авторизация пользователей:
- Регистрация - форма с полями: логин, email, пароль.
- Авторизация - форма с полями: логин, пароль.
- После авторизации пользователь получает доступ к глаголам.
- Прогресс каждого пользователя сохраняется отдельно.
Режим карточек
На странице карточек сайт должен по очереди показывать неправильные глаголы. Карточка должна содержать:
- Инфинитив глагола (например, "go").
- Кнопка "Знаю" - глагол помечается выученным.
- Кнопка "Не знаю" - показываются все три формы глагола (инфинитив, Past Simple, Past Participle) и перевод.
После ответа на каждый глагол автоматически показывается следующий. Цикл заканчивается, когда все глаголы пройдены.
Система запоминания
Выученные глаголы сохраняются на сервере и не показываются в режиме карточек при следующих запусках. Периодически (например, через 7 дней) выученные глаголы примешиваются к основным для проверки. Если пользователь не знает глагол при повторной проверке, он возвращается в список для заучивания.
Таблица всех глаголов
На странице таблицы должны быть выведены все неправильные глаголы с колонками:
- Инфинитив.
- Past Simple.
- Past Participle.
- Перевод.
- Статус (для заучивания или выучено).
Переключатель позволяет вывести:
- Глаголы, которые остались для заучивания.
- Уже выученные глаголы.
- Все глаголы.
Сброс прогресса
На странице должна быть кнопка "Сбросить прогресс". При нажатии на нее все выученные глаголы пользователя возвращаются в статус "для заучивания" с подтверждением действия.
Взаимодействие с сервером
Все операции выполняются через AJAX-запросы:
- При загрузке страницы данные загружаются с сервера.
- При изменении статуса глагола данные отправляются на сервер, после успешного ответа обновляется интерфейс.
Дополнительные возможности
- Статистика: сколько глаголов выучено, сколько осталось.
- Прогресс-бар для визуализации прогресса.