Este é o projeto I9 (Inove) que contém um web-client React/Vite e um web-server NestJS, orquestrados via Docker Compose.
O projeto é composto por um web-client React/Vite e um web-server NestJS
I9/
├── web-client/ # Frontend React + Vite
├── web-server/ # Backend NestJS
As pastas de cada módulo possui um README.md com detalhes adicionais sobre cada.
- Docker (versão 20.10 ou superior)
- Docker Compose (versão 2.0 ou superior)
-
Clone o repositório:
git clone <url-do-repositorio> cd I9
-
Configure as variáveis de ambiente:
Para desenvolvimento:
cp .env.example .env.dev # Edite .env.dev conforme necessárioPara produção:
cp .env.example .env.prod # Edite .env.prod conforme necessário
# Build e execução com watch mode (hot reload)
docker compose -f docker-compose.dev.yml up --watch
# Para parar os serviços
docker compose -f docker-compose.dev.yml down
# Executar com portas customizadas
WEB_CLIENT_PORT=3001 WEB_SERVER_PORT=3002 docker compose -f docker-compose.dev.yml up --watch- Web Client: http://localhost:5173 (ou porta configurada)
- Web Server: http://localhost:3000 (ou porta configurada)
# Visualizar logs em tempo real
docker compose -f docker-compose.dev.yml logs -f
# Logs de um serviço específico
docker compose -f docker-compose.dev.yml logs -f web-client
docker compose -f docker-compose.dev.yml logs -f web-server
# Executar comandos dentro dos containers
docker compose -f docker-compose.dev.yml exec web-client npm run lint
docker compose -f docker-compose.dev.yml exec web-server npm run test# Build e execução em produção
docker compose -f docker-compose.prod.yml up -d --build
# Para parar os serviços
docker compose -f docker-compose.prod.yml down
# Configurar limites de recursos
WEB_CLIENT_PORT=80 \
WEB_SERVER_PORT=3000 \
WEB_CLIENT_MEMORY_LIMIT=512M \
WEB_CLIENT_CPU_LIMIT=0.5 \
WEB_SERVER_MEMORY_LIMIT=1G \
WEB_SERVER_CPU_LIMIT=1.0 \
docker compose -f docker-compose.prod.yml up -d --build- Faça um fork do projeto
- Crie uma branch para sua feature a partir da ramificação de
development(git checkout -b feature/<ISSUE>/nova-funcionalidade) - Commit suas mudanças (
git commit -am 'feat: [...]') - Push para a branch (
git push origin feature/nova-funcionalidade) - Abra um Pull Request
É importante que as documentações de Gerenciamento de Configuração de Software (GCS) sejam verificadas, no caso de dúvidas.