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

Почасовой планировщик

Реализуйте планировщик дел на текущий день.

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

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

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

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

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

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

Главная страница

На странице должны быть размещены:

  • Заголовок с текущей датой.
  • Форма для добавления нового дела.
  • Список дел на текущий день.

Список дел

Список дел отображается в хронологическом порядке (по времени начала). Каждое дело должно содержать:

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

Категории дел

Сайт автоматически определяет категорию каждого дела на основе текущего времени:

  • Прошедшие сделанные - дело закончилось и отмечено сделанным (серый, перечеркнутое).
  • Прошедшие несделанные - дело закончилось, но не отмечено сделанным (красный).
  • Текущее - дело выполняется сейчас (зеленый, яркий фон).
  • Будущие - дело еще не наступило (обычный стиль).

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

Форма добавления дела должна содержать:

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

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

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

При нажатии на кнопку "Редактировать" открывается форма с текущими данными дела. После редактирования и нажатия на кнопку "Сохранить" запись обновляется через AJAX. При редактировании также проверяется пересечение времени с другими делами.

Удаление дела (AJAX)

При нажатии на кнопку "Удалить" появляется подтверждение (confirm), после чего дело удаляется через AJAX.

Отметка дела выполненным (AJAX)

При нажатии на чекбокс или кнопку "Сделано" дело помечается как выполненное. Визуально дело меняет стиль на серый/перечеркнутый через AJAX.

Звуковые сигналы

Сайт должен отслеживать время и подавать звуковые сигналы:

  • За 5 минут до начала дела - короткий звуковой сигнал.
  • В момент начала дела - звуковой сигнал.
  • В момент окончания дела - звуковой сигнал.

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

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

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

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

  • Переключение на другие дни (кнопки "◄" и "►").
  • Кнопка "Сегодня" для возврата к текущему дню.
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить