Um sistema ERP básico desenvolvido em Spring Boot para pequenas empresas.
- Java 17
- Spring Boot 3.3.3
- Spring Security
- Spring Data JPA
- PostgreSQL
- Flyway (Migrations)
- JWT (Autenticação)
- SpringDoc OpenAPI (Documentação da API)
- Docker
- Cloudflare Tunnel (Deploy em produção)
- TUTORIAL-CLOUDFLARE-TUNNEL.md - Guia passo a passo completo para deploy
- CHECKLIST-DEPLOY.md - Lista de verificação antes do deploy
- CONFIGURACAO-SMTP2GO.md - Configuração de email com SMTP2GO
# Executar deploy em produção
docker-compose -f docker-compose.prod.yml up -d- Java 17+
- Maven 3.6+
- PostgreSQL 12+
- Docker (opcional)
git clone <url-do-repositorio>
cd LiteERP_Spring# Usando o script (Windows)
scripts/run-local.bat
# Ou manualmente
docker-compose -f docker-compose.dev.yml up -d- Configure o profile ativo:
local - Execute a classe principal
# Profile local (padrão)
./mvnw spring-boot:run -Plocal
# Profile docker
./mvnw spring-boot:run -Pdocker
# Executar testes
./mvnw testA aplicação estará disponível em: http://localhost:8080
📁 LiteERP_Spring/
├── src/main/java/ # Código fonte Java
├── src/main/resources/ # Recursos e configurações
│ ├── db/migration/ # Scripts Flyway
│ └── application*.yml # Configurações por profile
├── docker-compose*.yml # Configurações Docker
└── scripts/ # Scripts utilitários
└── run-local.bat
- Uso: Desenvolvimento no IntelliJ
- Banco: PostgreSQL local (localhost:54320)
- Logs: Detalhados para debug
- Ativo por padrão
- Uso: Containers e produção
- Banco: Via variáveis de ambiente
- Logs: Otimizados para produção
- Configuração via ENV vars
# Ambiente completo (app + banco)
docker-compose up -d
# Apenas banco para desenvolvimento
docker-compose -f docker-compose.dev.yml up -d# Build da imagem
docker build -t lite-erp .
# Executar container com variáveis de ambiente
docker run -p 8080:8080 \
-e DATABASE_URL=jdbc:postgresql://seu-host:5432/LiteERP \
-e DATABASE_USERNAME=postgres \
-e DATABASE_PASSWORD=sua-senha \
-e JWT_SECRET=seu-jwt-secret \
lite-erpA imagem está disponível no Docker Hub e é automaticamente atualizada via GitHub Actions:
docker pull vitorhugoms/lite-erp-backend:latest
docker run -p 8080:8080 \
-e DATABASE_URL=jdbc:postgresql://seu-host:5432/LiteERP \
-e DATABASE_USERNAME=postgres \
-e DATABASE_PASSWORD=sua-senha \
vitorhugoms/lite-erp-backend:latest# Iniciar banco de dados
docker-compose -f docker-compose.dev.yml up -d
# Executar aplicação
./mvnw spring-boot:run -Plocal
# Executar testes
./mvnw test# Deploy completo
docker-compose -f docker-compose.prod.yml up -d
# Ver logs
docker-compose -f docker-compose.prod.yml logs -f
# Parar aplicação
docker-compose -f docker-compose.prod.yml downA documentação da API está disponível via Swagger UI:
- Local:
http://localhost:8080/swagger-ui/index.html - Produção:
https://api.seu-dominio.com/swagger-ui/index.html
O endpoint de health check está disponível em:
http://localhost:8080/actuator/health
O projeto utiliza GitHub Actions para:
- ✅ Executar testes automatizados
- 🐳 Build e push da imagem Docker
- 🔒 Scan de segurança com Trivy
- Faça um fork do projeto
- Crie uma branch para sua feature (
git checkout -b feature/AmazingFeature) - Commit suas mudanças (
git commit -m 'Add some AmazingFeature') - Push para a branch (
git push origin feature/AmazingFeature) - Abra um Pull Request
Este projeto está sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.
Lite ERP - [email protected]
Link do Projeto: https://github.com/vitorhugoms/LiteERP_Spring