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