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

Журнал расхода времени

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

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

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

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

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

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

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

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

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

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

Кнопки деятельности

По умолчанию на странице есть две кнопки:

  • "Работаю" - пользователь начинает работать.
  • "Отдыхаю" - пользователь начинает отдыхать.

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

Управление категориями

Пользователь может добавлять свои категории дел:

  • Добавление - форма с полем для названия категории и кнопкой "Добавить категорию".
  • Удаление - удаление категории (кнопка "Удалить" рядом с категорией).

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

Текущее состояние

На странице отображается текущее состояние пользователя:

  • Какая категория выбрана в данный момент.
  • Сколько времени в ней уже проведено (таймер).

Статистика

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

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

Статистика должна отображать:

  • Время, проведенное в каждой категории (в часах и минутах).
  • Общее время за период.

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

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

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

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

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