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