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

Трекер месяц без сладостей

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

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

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

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

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

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

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

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

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

  • Заголовок с номером дня в трекере.
  • Список из 30 дат (дней).
  • Блок с текущим статусом (дней пройдено / осталось).
  • Кнопки для отметки сегодняшнего дня: "Ел сладости" и "Не ел сладости".

Начало трекера

При первом заходе или после сброса запускается отсчет 30 дней. Список из 30 дат заполняется начиная с текущей даты. Данные отправляются на сервер.

Отметка дня

Пользователь должен ежедневно заходить на сайт и отмечать сегодняшний день нажатием на одну из кнопок:

  • "Не ел сладости" - день зачеркивается и считается успешно пройденным.
  • "Ел сладости" - день не зачеркивается, трекер считается проваленным.

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

Список дат

Список из 30 дат отображается в виде сетки или списка. Каждая дата показывает:

  • Число месяца.
  • День недели.
  • Если день зачеркнут - он зеленого цвета с зачеркиванием.
  • Если день не зачеркнут и наступил - красный цвет.
  • Будущие дни - серый цвет (недоступны для отметки).

Успешное прохождение

Как только все 30 дней будут зачеркнуты, трекер считается пройденным. Сайт должен:

  • Вывести поздравление (например, "Поздравляем! Вы успешно прошли месяц без сладостей! 🎉").
  • Показать красивую картинку или анимацию.
  • Предложить начать заново или поделиться результатом.

Пропуск дня

Если пользователь нажал "Ел сладости" или пропустил день (не отметил), трекер считается проваленным:

  • Все текущие отметки сбрасываются.
  • Отсчет начинается сначала.

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

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

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

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

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