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

Трекер алкоголя

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

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

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

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

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

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

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

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

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

  • Календарь на текущий месяц.
  • Блок с текущей серией (количество дней подряд).
  • Статистика (общее количество дней без алкоголя).
  • История достижений (похвалы).

Календарь

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

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

При клике на день в календаре можно отметить его как "трезвый" или снять отметку. Данные отправляются на сервер без перезагрузки страницы.

Непрерывная серия

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

  • Если каждый день отмечен без пропусков, серия продолжается.
  • Если хотя бы один день пропущен (не отмечен), серия обнуляется и начинается заново.
  • Серия автоматически продлевается, если сегодняшний день отмечен.

Похвала за достижения

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

  • 7 дней - "Отличная неделя! Так держать!".
  • 14 дней - "Две недели без алкоголя! Здорово!".
  • 30 дней - "Месяц без алкоголя! Ты молодец!".
  • 60 дней - "Два месяца! Ты сильный!".
  • 90 дней - "Три месяца! Ты герой!".
  • 365 дней - "Год без алкоголя! Ты легенда!".

Каждое достижение сохраняется на сервере и отображается на странице с датой получения.

Статистика

На странице отображается статистика:

  • Текущая непрерывная серия (количество дней).
  • Общее количество "трезвых" дней за все время.
  • Процент "трезвых" дней за текущий месяц.

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

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

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

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

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