# PlayLifeWeb Веб-приложение для отображения статистики проектов. ## Возможности - **Текущая неделя**: Отображение статистики на текущий момент с ProgressBar для каждого проекта - **Полная статистика**: График нарастающей статистики по всем проектам ## Технологии - React 18 - Vite - Chart.js (react-chartjs-2) - Tailwind CSS - Docker ## Установка и запуск ### Локальная разработка 1. Установите зависимости: ```bash npm install ``` 2. Запустите dev-сервер: ```bash npm run dev ``` Приложение будет доступно по адресу `http://localhost:3000` ### Сборка для production ```bash npm run build ``` ### Запуск через Docker 1. Создайте файл `.env` в корне проекта (можно скопировать из `env.example`): ```bash cp env.example .env ``` 2. Соберите образ: ```bash docker-compose build ``` 3. Запустите контейнер: ```bash docker-compose up -d ``` Приложение будет доступно по адресу `http://localhost:3000` **Примечание:** API запросы автоматически проксируются к бэкенду через nginx. Не требуется настройка URL API. ### Остановка Docker контейнера ```bash 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`) - График полной статистики показывает нарастающую сумму баллов по неделям - Все проекты отображаются на одном графике с разными цветами - Адаптивный дизайн для различных размеров экранов