Skip to content

B415Corp/TimeTracker

Repository files navigation

TimeTracker

Система управления проектами и отслеживания времени с архитектурой монорепозитория.

🚨 Недавние исправления

Исправлена проблема с API маршрутизацией в продакшне

  • Проблема: Фронтенд отправлял запросы на /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

Локальный запуск

Вариант 1: Использование скриптов

Linux/macOS:

chmod +x scripts/start-local.sh
./scripts/start-local.sh

Windows (PowerShell):

.\scripts\start-local.ps1

Вариант 2: Использование Makefile

# Показать все доступные команды
make help

# Сборка и запуск
make dev

# Просмотр логов
make logs

# Остановка
make down

Вариант 3: Docker Compose напрямую

# Сборка и запуск
docker-compose up --build -d

# Просмотр статуса
docker-compose ps

# Просмотр логов
docker-compose logs -f

# Остановка
docker-compose down

🌐 Доступ к сервисам

После запуска сервисы будут доступны по следующим адресам:

Данные для подключения к БД

  • 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

🛠️ Команды разработки

Makefile команды

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 команды

# Сборка без кэша
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

🔧 Настройка для продакшена

Для продакшена рекомендуется:

  1. Изменить пароли в переменных окружения
  2. Настроить SSL сертификаты
  3. Использовать внешнюю базу данных
  4. Настроить мониторинг и логирование
  5. Настроить резервное копирование

🐛 Отладка

Проверка статуса контейнеров

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 -f

📝 Разработка

Добавление новых зависимостей

Backend:

docker-compose exec backend npm install package-name

Frontend:

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

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors