Трекер взвешивания
Реализуйте сервис, позволяющий ежедневно контролировать свой вес.
Основные возможности проекта
- Инпут для ввода текущего веса.
- Сохранение веса для текущего дня.
- Построение графиков веса за неделю, месяц, год, заданный период, все время.
- Визуализация на canvas.
- Данные хранятся в localStorage.
Главная страница
На странице должны быть размещены:
- Инпут для ввода веса (число).
- Кнопка "Сохранить вес".
- Блок с текущим весом (последнее сохраненное значение).
- Выбор периода для графика (неделя, месяц, год, заданный период, все время).
- Canvas для отображения графика.
Ввод веса
Пользователь вводит свой текущий вес в инпут и нажимает кнопку "Сохранить вес". Значение сохраняется с текущей датой. Если для сегодняшнего дня уже есть запись, она перезаписывается.
Текущий вес
На странице отображается последнее сохраненное значение веса и дата, когда оно было сохранено.
Графики
Сайт строит графики веса на canvas для разных периодов:
- За неделю - последние 7 дней.
- За месяц - текущий месяц.
- За год - текущий год.
- За заданный промежуток времени - выбор даты начала и конца.
- За все время - с первой записи.
Отрисовка графика
График должен содержать:
- Ось X - даты.
- Ось Y - значения веса.
- Линия, соединяющая точки с значениями веса.
- Точки на линии с числовыми значениями.
Хранение данных
Все записи веса хранятся в локальном хранилище браузера (localStorage). Ключом для хранения является дата в формате "YYYY-MM-DD". При загрузке страницы данные загружаются из хранилища.
Дополнительные возможности
- Средний вес за выбранный период.
- Динамика изменения веса (потеря/набор).