Sistema full-stack para gerenciamento de clientes integrando Angular Material no frontend com API TOTVS Protheus, incluindo notificações por email automatizadas.
- Angular 16+
- Angular Material
- RxJS
- TypeScript
- SCSS
- TOTVS Protheus REST API
- Node.js (Serviço de Email)
- Express
- Nodemailer
- Node.js 18+
- Angular CLI 16+
- TOTVS Protheus configurado e rodando localmente
- NPM ou Yarn
- Banco de dados configurado no Protheus
- Clone o repositório e entre no diretório do frontend.
- Instale as dependências.
- Inicie o servidor de desenvolvimento.
- Entre no diretório do serviço de email e instale as dependências.
- Configure as variáveis de ambiente.
- Inicie o serviço.
Configure os valores de SMTP_HOST
, SMTP_PORT
, SMTP_USER
, SMTP_PASS
, e TOTVS_API_URL
conforme necessário.
cliente360/
├── frontend/
│ ├── src/
│ │ ├── app/
│ │ │ ├── components/
│ │ │ ├── services/
│ │ │ ├── models/
│ │ │ └── shared/
│ │ ├── assets/
│ │ └── environments/
├── email-service/
│ ├── src/
│ │ ├── controllers/
│ │ ├── services/
│ │ └── utils/
└── README.md
GET /v1/clientes/listar
- Lista todos os clientesGET /v1/clientes/:codigo
- Obtém detalhes de um cliente específicoPOST /v1/clientes/incluir
- Cadastra novo clientePUT /v1/clientes/atualizar/:codigo/:loja
- Atualiza dados do clienteDELETE /v1/clientes/deletar/:codigo/:loja
- Remove clienteGET /v1/clientes/ultimoCodigo
- Obtém último código cadastradoGET /v1/clientes/municipiosporestado/:estado
- Lista municípios por estadoGET /v1/clientes/codigomunicipio/:estado/:municipio
- Obtém código do município
O serviço de email é um microsserviço Node.js que:
- Monitora alterações na API TOTVS através de polling
- Envia emails automáticos quando detecta alterações em clientes
- Mantém um log de notificações enviadas
- Implementação de JWT para autenticação
- Sanitização de inputs
- Validação de dados no frontend e backend
- Proteção contra CSRF
- Rate limiting na API
- Gerar build de produção.
- Gerar build de produção.
Para novos componentes, utilize ng generate component
e ng generate service
para novos serviços.
- Utilize TypeScript strict mode
- Siga o style guide do Angular
- Mantenha componentes pequenos e reutilizáveis
- Implemente lazy loading para módulos
- Use interceptors para tratamento de erros
---
Este projeto está sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.