РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
26 of 77 menu

Календарь-органайзер

Реализуйте органайзер в виде календаря, с помощью которого можно планировать дела на любое количество дней вперед.

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

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

  • Регистрация и авторизация пользователей.
  • Календарь с выделением дней, на которые запланированы дела.
  • Переключение между месяцами.
  • Список дел на выбранную дату.
  • Создание дел с указанием времени начала, времени конца и названия (AJAX).
  • Редактирование дел по двойному клику (AJAX).
  • Удаление дел (AJAX).
  • Отметка дел как выполненных (AJAX).
  • Автоматическое определение статуса дела (текущее, просроченное, предстоящее).
  • Контроль пересечения времени дел.
  • Каждый пользователь видит только свои дела.

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

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

  • Регистрация - форма с полями: логин, email, пароль.
  • Авторизация - форма с полями: логин, пароль.
  • Каждый пользователь видит только свои дела.

Календарь

Календарь отображает текущий месяц в виде сетки. Особенности:

  • Текущий день выделен отдельным стилем.
  • Дни, для которых есть запланированные дела, выделены отдельным стилем.
  • При клике на дату открывается список дел на эту дату.
  • Над календарем указан текущий месяц и год, есть стрелки для переключения месяцев вперед и назад.

Список дел

При клике на дату в календаре отображается список дел на эту дату. Каждое дело должно содержать:

  • Время начала.
  • Время конца.
  • Название дела.
  • Статус: выполнено (есть отметка), текущее (выполняется сейчас), просроченное (срок прошел, не выполнено), предстоящее (еще не наступило).
  • Кнопка для отметки дела сделанным.
  • Кнопка для удаления дела.

Цвет или стиль дела меняется в зависимости от статуса:

  • Выполнено - серый, перечеркнутое.
  • Текущее - зеленый.
  • Просроченное - красный.
  • Предстоящее - обычный стиль.

Добавление дела (AJAX)

Для добавления дела используется форма с полями:

  • Время начала (инпут time).
  • Время конца (инпут time).
  • Название дела (инпут).
  • Кнопка "Добавить дело".

При добавлении система проверяет, не пересекается ли новое дело с уже существующими на эту дату. Если пересечение обнаружено, выводится сообщение об ошибке.

Редактирование дела (AJAX)

Редактирование полей дела происходит по двойному клику:

  • При двойном клике на поле появляется инпут с текущим значением.
  • Завершение редактирования происходит по нажатию Enter или потере фокуса инпутом.
  • При изменении времени проверяется пересечение с другими делами.

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

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

  • При загрузке страницы дела загружаются с сервера.
  • При добавлении, редактировании, удалении или изменении статуса дела данные отправляются на сервер, после успешного ответа обновляется интерфейс.

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

  • Экспорт дел в календарь (iCal).
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить