Files
play-life/play-life-web/README.md
2025-12-29 20:01:55 +03:00

106 lines
3.8 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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`)
- График полной статистики показывает нарастающую сумму баллов по неделям
- Все проекты отображаются на одном графике с разными цветами
- Адаптивный дизайн для различных размеров экранов