Sistema de fidelização de clientes construído com Spring Boot, Thymeleaf e PostgreSQL.
- Java 21
- Maven 3.8+
- PostgreSQL (local ou AWS RDS)
git clone https://github.com/seu-usuario/fidex.git
cd fidexConfigure as seguintes variáveis de ambiente no seu sistema:
| Variável | Descrição | Exemplo |
|---|---|---|
DATABASE_URL |
URL de conexão JDBC do PostgreSQL | jdbc:postgresql://localhost:5432/fidex |
DATABASE_USERNAME |
Usuário do banco de dados | postgres |
DATABASE_PASSWORD |
Senha do banco de dados | sua_senha |
PORT |
Porta do servidor (opcional, padrão: 8080) | 8080 |
$env:DATABASE_URL = "jdbc:postgresql://localhost:5432/fidex"
$env:DATABASE_USERNAME = "postgres"
$env:DATABASE_PASSWORD = "sua_senha"export DATABASE_URL="jdbc:postgresql://localhost:5432/fidex"
export DATABASE_USERNAME="postgres"
export DATABASE_PASSWORD="sua_senha"CREATE DATABASE fidex;O Hibernate irá criar automaticamente as tabelas na primeira execução (usando spring.jpa.hibernate.ddl-auto).
./mvnw spring-boot:runA aplicação estará disponível em: http://localhost:8080
- Acesse render.com e crie uma conta
- Clique em New → Web Service
- Conecte seu repositório GitHub/GitLab
- Configure:
- Environment:
Docker - Instance Type: Free ou conforme necessidade
- Environment:
No painel do Render, vá em Environment e adicione:
| Key | Value |
|---|---|
DATABASE_URL |
jdbc:postgresql://HOST:5432/DATABASE |
DATABASE_USERNAME |
Seu usuário do PostgreSQL |
DATABASE_PASSWORD |
Sua senha do PostgreSQL |
Opções recomendadas:
- Render PostgreSQL: Criar diretamente no Render
- AWS RDS: Usar instância PostgreSQL da AWS
- Supabase/Neon: Alternativas gratuitas
DATABASE_URL=jdbc:postgresql://sua-instancia.rds.amazonaws.com:5432/fidex
DATABASE_USERNAME=admin
DATABASE_PASSWORD=sua_senha_rds
fidex/
├── src/main/java/web/fidex/
│ ├── controller/ # Controllers MVC
│ ├── model/ # Entidades JPA
│ ├── repository/ # Repositórios Spring Data
│ ├── service/ # Lógica de negócio
│ └── config/ # Configurações de segurança
├── src/main/resources/
│ ├── templates/ # Templates Thymeleaf
│ ├── static/ # CSS, JS, imagens
│ └── application.properties
├── dockerfile
├── render.yaml
└── pom.xml
# Porta do servidor (Render define automaticamente via $PORT)
server.port=${PORT:8080}
server.address=0.0.0.0
# Conexão com banco de dados
spring.datasource.url=${DATABASE_URL}
spring.datasource.username=${DATABASE_USERNAME}
spring.datasource.password=${DATABASE_PASSWORD}
# Dialeto PostgreSQL
spring.jpa.database-platform=org.hibernate.dialect.PostgreSQLDialectdocker build -t fidex .
docker run -p 8080:8080 \
-e DATABASE_URL="jdbc:postgresql://host.docker.internal:5432/fidex" \
-e DATABASE_USERNAME="postgres" \
-e DATABASE_PASSWORD="senha" \
fidex- O sistema usa Spring Security para autenticação
- Senhas são criptografadas com BCrypt
- O pool de conexões HikariCP está otimizado para ambientes cloud (3 conexões máx.)
- Verifique se as variáveis de ambiente estão configuradas corretamente
- Confirme que o banco PostgreSQL está acessível pelo IP/host configurado
- Para AWS RDS, verifique as regras do Security Group
- Verifique se
server.port=${PORT:8080}está noapplication.properties - Verifique se
server.address=0.0.0.0está configurado - Consulte os logs no painel do Render
Este projeto é privado e de uso interno.