Languages:
Português |
English
O Customer Manager App é uma aplicação Full Stack para gerenciar clientes de forma simples e moderna.
Gerencie clientes com um CRUD moderno, formulários reativos, Angular, Spring Boot e PostgreSQL.
- Local: usa
application-local.propertiese PostgreSQL local. - Produção: usa
application-prod.propertiese PostgreSQL no Render (env vars).
- Java 21
- Node.js 18+
- Angular CLI instalado globalmente (
npm install -g @angular/cli) - PostgreSQL em execução
Crie um banco no PostgreSQL:
CREATE DATABASE localhost_customer_manager_app;As credenciais locais ficam em backend/src/main/resources/application-local.properties.
No diretório /backend:
SPRING_PROFILES_ACTIVE=local mvn spring-boot:runWindows PowerShell:
$env:SPRING_PROFILES_ACTIVE="local"; mvn -q -DskipTests spring-boot:runO backend estará disponível em: http://localhost:8080/api/customers
No diretório /frontend:
npm install
ng serveO frontend estará disponível em: http://localhost:4200
- Backend: Render (Spring Boot + PostgreSQL)
- Frontend: Vercel (Angular)
- Render env vars:
DB_URL,DB_USER,DB_PASSWORD,SPRING_PROFILES_ACTIVE=prod
O Customer Manager App oferece um CRUD completo com uma interface moderna e responsiva.
-
Criar Cliente:
Formulário reativo com validação e feedback visual. -
Listar Clientes:
Tabela responsiva com botões de ação (Atualizar / Deletar). -
Atualizar Cliente:
Edição de dados com formulário pré-preenchido via ID. -
Deletar Cliente:
Exclusão com atualização instantânea da lista. -
Interface Moderna:
- Tema Warm Sand com cards leves
- Tipografia Manrope
- Botões com hover e foco
- Layout centralizado e responsivo
-
Validação e erros amigáveis:
- Validação no frontend e backend
- Mensagens claras por campo e erros 400 amigáveis
Durante o desenvolvimento deste projeto foram aplicadas diversas boas práticas:
- Uso de componentes standalone no Angular
- Reactive Forms com validação e patch de dados
- Integração REST entre Angular e Spring Boot
- Configuração de CORS e rotas dinâmicas
- Estilização moderna e UX responsiva
Contribuições são muito bem-vindas!
Para colaborar:
- Faça um fork do repositório
- Crie uma branch:
git checkout -b feature/nova-funcionalidade - Commit suas alterações seguindo o padrão Conventional Commits
- Envie um Pull Request
Este projeto está sob a licença MIT.
Piter Gomes — Aluno de Ciências da Computação (5º Semestre) & Desenvolvedor Full-Stack


