Init project

This commit is contained in:
2025-08-27 12:47:23 +04:00
commit 9ee249de29
24 changed files with 2449 additions and 0 deletions

246
STARTUP.md Normal file
View File

@@ -0,0 +1,246 @@
# 🚀 Инструкции по запуску ERP MVP
## 📋 Требования
### Системные требования
- **Docker** 20.10+
- **Docker Compose** 2.0+
- **Git** 2.30+
### Минимальные ресурсы
- **RAM:** 4 GB
- **CPU:** 2 ядра
- **Диск:** 10 GB свободного места
## 🔧 Быстрый запуск
### 1. Клонирование репозитория
```bash
git clone <repository-url>
cd erp-mvp
```
### 2. Настройка переменных окружения
```bash
# Создание .env файла для Core Service
cp core-service/.env.example core-service/.env
# Создание .env файла для Document Service
cp doc-service/.env.example doc-service/.env
# Редактирование переменных (опционально)
nano core-service/.env
nano doc-service/.env
```
### 3. Запуск всех сервисов
```bash
# Сборка и запуск всех контейнеров
docker-compose up -d
# Просмотр логов
docker-compose logs -f
# Проверка статуса сервисов
docker-compose ps
```
### 4. Проверка работоспособности
```bash
# Core Service API
curl http://localhost:8080/health
# Document Service API
curl http://localhost:8000/health
# Frontend
curl http://localhost:3000/health
```
## 🌐 Доступ к сервисам
После успешного запуска:
- **Frontend (Angular PWA):** http://localhost:3000
- **Core Service API:** http://localhost:8080
- **Document Service API:** http://localhost:8000
- **API Documentation:** http://localhost:8000/docs
- **PostgreSQL:** localhost:5432
- **Redis:** localhost:6379
## 🔍 Мониторинг (опционально)
### Запуск с мониторингом
```bash
# Запуск с Prometheus и Grafana
docker-compose --profile monitoring up -d
# Доступ к Grafana: http://localhost:3001
# Логин: admin / admin
```
### Запуск с API Gateway
```bash
# Запуск с Traefik
docker-compose --profile gateway up -d
# Traefik Dashboard: http://localhost:8081
```
## 🛠️ Разработка
### Локальная разработка
#### Core Service (Go)
```bash
cd core-service
go mod download
go run cmd/main.go
```
#### Document Service (Python)
```bash
cd doc-service
pip install -r requirements.txt
python -m uvicorn app.main:app --reload --host 0.0.0.0 --port 8000
```
#### Frontend (Angular)
```bash
cd frontend
npm install
npm start
```
### Горячая перезагрузка
```bash
# Пересборка и перезапуск конкретного сервиса
docker-compose up -d --build core-service
# Пересборка всех сервисов
docker-compose up -d --build
```
## 🗄️ База данных
### Подключение к PostgreSQL
```bash
# Через Docker
docker-compose exec postgres psql -U erp_user -d erp_mvp
# Или через внешний клиент
# Host: localhost
# Port: 5432
# Database: erp_mvp
# Username: erp_user
# Password: erp_pass
```
### Миграции
```bash
# Применение миграций (если есть)
docker-compose exec core-service ./migrate up
```
## 🔐 Безопасность
### Изменение паролей по умолчанию
```bash
# В docker-compose.yml измените:
# - POSTGRES_PASSWORD
# - JWT_SECRET
# - REDIS_PASSWORD (если используется)
```
### HTTPS (для продакшена)
```bash
# Добавьте SSL сертификаты
# Настройте Traefik для HTTPS
# Обновите переменные окружения
```
## 🐛 Устранение неполадок
### Просмотр логов
```bash
# Все сервисы
docker-compose logs
# Конкретный сервис
docker-compose logs core-service
docker-compose logs doc-service
docker-compose logs frontend
# Следить за логами в реальном времени
docker-compose logs -f
```
### Перезапуск сервисов
```bash
# Перезапуск конкретного сервиса
docker-compose restart core-service
# Перезапуск всех сервисов
docker-compose restart
```
### Очистка данных
```bash
# Остановка и удаление контейнеров
docker-compose down
# Удаление с данными
docker-compose down -v
# Полная очистка
docker-compose down -v --rmi all
```
## 📊 Проверка работоспособности
### Тестовые запросы
```bash
# Проверка Core Service
curl -X GET http://localhost:8080/health
# Проверка Document Service
curl -X GET http://localhost:8000/health
# Проверка Frontend
curl -X GET http://localhost:3000/health
```
### Проверка базы данных
```bash
# Подключение к PostgreSQL
docker-compose exec postgres psql -U erp_user -d erp_mvp -c "SELECT version();"
# Проверка таблиц
docker-compose exec postgres psql -U erp_user -d erp_mvp -c "\dt"
```
## 🚀 Продакшен развертывание
### Подготовка к продакшену
1. Измените все пароли по умолчанию
2. Настройте SSL сертификаты
3. Настройте мониторинг
4. Настройте бэкапы
5. Обновите переменные окружения
### Команды для продакшена
```bash
# Сборка оптимизированных образов
docker-compose -f docker-compose.yml -f docker-compose.prod.yml build
# Запуск в продакшене
docker-compose -f docker-compose.yml -f docker-compose.prod.yml up -d
```
## 📞 Поддержка
При возникновении проблем:
1. Проверьте логи: `docker-compose logs`
2. Убедитесь, что все порты свободны
3. Проверьте системные ресурсы
4. Обратитесь к документации проекта