Система управления проектами и отслеживания времени с архитектурой монорепозитория.
- Проблема: Фронтенд отправлял запросы на
/v1/auth/loginвместо/api/v1/auth/login - Решение: Исправлен
VITE_API_URLв Docker конфигурации с/v1на/api/v1 - Файлы:
docker-compose.yml,docker-compose.prod.yml - Дополнительно: Добавлена конфигурация Nginx для правильного проксирования
📖 Подробная инструкция по развертыванию: DEPLOYMENT.md
- Frontend: React 19 + Vite + shadcn/ui + Tailwind CSS
- Backend: NestJS 10 + TypeORM + PostgreSQL
- Database: PostgreSQL 14
- Deployment: Docker + Docker Compose + Nginx (продакшн)
- Docker Desktop
- Docker Compose
- Git
Linux/macOS:
chmod +x scripts/start-local.sh
./scripts/start-local.shWindows (PowerShell):
.\scripts\start-local.ps1# Показать все доступные команды
make help
# Сборка и запуск
make dev
# Просмотр логов
make logs
# Остановка
make down# Сборка и запуск
docker-compose up --build -d
# Просмотр статуса
docker-compose ps
# Просмотр логов
docker-compose logs -f
# Остановка
docker-compose downПосле запуска сервисы будут доступны по следующим адресам:
- Frontend: http://localhost
- Backend API: http://localhost:3000/api
- Adminer (DB Admin): http://localhost:8080
- PostgreSQL: localhost:5432
- Host: localhost (или postgres внутри Docker)
- Port: 5432
- Database: nestdb
- Username: yourusername
- Password: GvXWmzMLP03HNmrp
TimeTracker/
├── apps/
│ ├── backend/ # NestJS API
│ │ ├── src/
│ │ ├── Dockerfile
│ │ └── package.json
│ └── frontend/ # React SPA
│ ├── src/
│ ├── nginx.conf
│ ├── Dockerfile
│ └── package.json
├── scripts/ # Скрипты для запуска
├── docker-compose.yml # Конфигурация Docker
├── Makefile # Команды для разработки
└── README.md
make help # Показать справку
make build # Собрать контейнеры
make up # Запустить сервисы
make down # Остановить сервисы
make restart # Перезапустить сервисы
make logs # Показать логи всех сервисов
make logs-backend # Логи бэкенда
make logs-frontend # Логи фронтенда
make logs-db # Логи базы данных
make status # Статус контейнеров
make clean # Полная очистка
make dev # Сборка и запуск для разработки
make shell-backend # Подключиться к контейнеру бэкенда
make shell-frontend # Подключиться к контейнеру фронтенда
make shell-db # Подключиться к базе данных# Сборка без кэша
docker-compose build --no-cache
# Запуск с пересборкой
docker-compose up --build
# Просмотр логов конкретного сервиса
docker-compose logs -f backend
docker-compose logs -f frontend
docker-compose logs -f postgres
# Выполнение команд в контейнере
docker-compose exec backend npm run migration:run
docker-compose exec frontend shДля продакшена рекомендуется:
- Изменить пароли в переменных окружения
- Настроить SSL сертификаты
- Использовать внешнюю базу данных
- Настроить мониторинг и логирование
- Настроить резервное копирование
docker-compose ps# Все сервисы
docker-compose logs -f
# Конкретный сервис
docker-compose logs -f backend# Backend
docker-compose exec backend sh
# Frontend
docker-compose exec frontend sh
# База данных
docker-compose exec postgres psql -U yourusername -d nestdb# Полная очистка
make clean
# Или через Docker Compose
docker-compose down --rmi all --volumes --remove-orphans
docker system prune -fBackend:
docker-compose exec backend npm install package-nameFrontend:
docker-compose exec frontend npm install package-name# Создание миграции
docker-compose exec backend npm run migration:generate
# Применение миграций
docker-compose exec backend npm run migration:run
# Откат миграции
docker-compose exec backend npm run migration:revert