Files
play-life/play-life-web
poignatov fc83bed1a3 Реализована возможность изменения проектов
- Добавлено поле deleted в таблицу projects (миграция 007)
- Изменена иконка перехода на экран проектов (список вместо звезды)
- Заменен крестик на троеточие в списке проектов
- Добавлено модальное окно с кнопками 'Перенести' и 'Удалить'
- Реализован экран переноса проекта с выбором существующего или созданием нового
- Добавлены API endpoints: /project/move и /project/delete
- При переносе проекта обновляются nodes и weekly_goals с обработкой конфликтов
- При удалении проекта удаляются все связанные weekly_goals
- Добавлена фильтрация удаленных проектов во всех SQL запросах
- Обновлена materialized view для исключения удаленных проектов
2025-12-29 21:31:43 +03:00
..
2025-12-29 20:01:55 +03:00
2025-12-29 20:01:55 +03:00
2025-12-29 20:01:55 +03:00
2025-12-29 20:01:55 +03:00
2025-12-29 20:01:55 +03:00
2025-12-29 20:01:55 +03:00
2025-12-29 20:01:55 +03:00
2025-12-29 20:01:55 +03:00
2025-12-29 20:01:55 +03:00
2025-12-29 20:01:55 +03:00
2025-12-29 20:01:55 +03:00
2025-12-29 20:01:55 +03:00
2025-12-29 20:01:55 +03:00
2025-12-29 20:01:55 +03:00
2025-12-29 20:01:55 +03:00

PlayLifeWeb

Веб-приложение для отображения статистики проектов.

Возможности

  • Текущая неделя: Отображение статистики на текущий момент с ProgressBar для каждого проекта
  • Полная статистика: График нарастающей статистики по всем проектам

Технологии

  • React 18
  • Vite
  • Chart.js (react-chartjs-2)
  • Tailwind CSS
  • Docker

Установка и запуск

Локальная разработка

  1. Установите зависимости:
npm install
  1. Запустите dev-сервер:
npm run dev

Приложение будет доступно по адресу http://localhost:3000

Сборка для production

npm run build

Запуск через Docker

  1. Создайте файл .env в корне проекта (можно скопировать из env.example):
cp env.example .env
  1. Соберите образ:
docker-compose build
  1. Запустите контейнер:
docker-compose up -d

Приложение будет доступно по адресу http://localhost:3000

Примечание: API запросы автоматически проксируются к бэкенду через nginx. Не требуется настройка URL API.

Остановка Docker контейнера

docker-compose down

Структура проекта

play-life-web/
├── src/
│   ├── components/
│   │   ├── CurrentWeek.jsx          # Компонент текущей недели
│   │   ├── FullStatistics.jsx       # Компонент полной статистики
│   │   └── ProjectProgressBar.jsx    # Компонент ProgressBar
│   ├── App.jsx                       # Главный компонент приложения
│   ├── main.jsx                      # Точка входа
│   └── index.css                     # Глобальные стили
├── Dockerfile                        # Docker образ
├── docker-compose.yml                # Docker Compose конфигурация
├── nginx.conf                        # Nginx конфигурация
└── package.json                      # Зависимости проекта

API Endpoints

Приложение использует относительные пути для API запросов. Проксирование настроено автоматически:

  • Development: Vite dev server проксирует запросы к http://localhost:8080
  • Production: Nginx проксирует запросы к бэкенд контейнеру

Endpoints, которые используются:

  • /playlife-feed - данные текущей недели
  • /d2dc349a-0d13-49b2-a8f0-1ab094bfba9b - полная статистика
  • /projects - список проектов
  • /project/priority - обновление приоритетов проектов
  • /api/* - остальные API endpoints (слова, конфигурации, тесты)

Особенности реализации

  • ProgressBar отображает текущее значение (total_score) и выделяет диапазон целей (min_goal_score - max_goal_score)
  • График полной статистики показывает нарастающую сумму баллов по неделям
  • Все проекты отображаются на одном графике с разными цветами
  • Адаптивный дизайн для различных размеров экранов