Органайзер по дням
Реализуйте органайзер, с помощью которого можно планировать дела по дням.
Продумайте структуру базы данных для хранения пользователей и дел. Реализуйте регистрацию и авторизацию пользователей. Настройте серверную часть для работы с API. Все операции должны выполняться через AJAX-запросы без перезагрузки страницы.
Основные возможности проекта
- Регистрация и авторизация пользователей.
- Список дел на текущий день в виде чеклиста.
- Переключение между днями (стрелки "вперед/назад").
- Добавление дел (AJAX).
- Редактирование дел (AJAX).
- Отметка дел выполненными (через чекбокс) (AJAX).
- Удаление дел (AJAX).
- Каждый пользователь видит только свои дела.
Регистрация и авторизация
На сайте должна быть реализована регистрация и авторизация пользователей:
- Регистрация - форма с полями: логин, email, пароль.
- Авторизация - форма с полями: логин, пароль.
- Каждый пользователь видит только свои дела.
Главная страница
На странице должны быть размещены:
- Заголовок с текущей датой (день, месяц, год).
- Стрелки навигации: "◄" (предыдущий день) и "►" (следующий день).
- Список дел на выбранную дату (чеклист).
- Форма для добавления нового дела.
Навигация по дням (AJAX)
По умолчанию открывается текущий день. При нажатии на стрелку "►" дата сдвигается на один день вперед, при нажатии на "◄" - на один день назад. Заголовок с датой обновляется соответственно. Список дел загружается для выбранной даты через AJAX без перезагрузки страницы.
Список дел (чеклист)
Список дел отображается в виде чеклиста. Каждое дело должно содержать:
- Чекбокс для отметки выполненным.
- Текст дела (название).
- Кнопки: редактировать, удалить.
При отметке чекбокса дело меняет стиль (перечеркивается, становится серым) через AJAX.
Добавление дела (AJAX)
Форма добавления дела должна содержать:
- Поле для ввода текста дела (инпут).
- Кнопку "Добавить дело".
При нажатии на кнопку новое дело добавляется в конец списка на текущий день через AJAX без перезагрузки страницы.
Редактирование дела (AJAX)
При нажатии на кнопку "Редактировать" текст дела становится редактируемым (заменяется на инпут с текущим текстом). После нажатия Enter или потери фокуса текст обновляется через AJAX.
Удаление дела (AJAX)
При нажатии на кнопку "Удалить" появляется подтверждение (confirm), после чего дело удаляется из списка через AJAX.
Взаимодействие с сервером
Все операции выполняются через AJAX-запросы:
- При загрузке страницы или переключении дня дела загружаются с сервера.
- При добавлении, редактировании, удалении или изменении статуса дела данные отправляются на сервер, после успешного ответа обновляется интерфейс.
Дополнительные возможности
- Кнопка "Сегодня" для быстрого возврата к текущему дню.
- Кнопка "Очистить все" для удаления всех дел на текущий день.