Este projeto é um sistema de Gestão de Relacionamento com o Cliente (CRM) desenvolvido para a disciplina de Domain-Driven Design with Java.
| Nome | GitHub | RM |
|---|---|---|
| Gabriel Couto Ribeiro | 559579 | |
| Gabriel Kato Peres | 560000 | |
| João Vitor de Matos | 559246 | |
| Marcelo Affonso Fonseca | 559790 |
O objetivo deste Checkpoint 5 é conectar o domínio do sistema com um banco de dados relacional, garantindo que todas as entidades possuam suas respectivas tabelas e suporte completo a operações de CRUD.
- Java 17+
- Spring Boot 3.2.5
- Spring Data JPA (Persistência)
- H2 Database (Banco de dados em memória para desenvolvimento)
- Lombok (Produtividade)
- Maven (Gerenciamento de dependências)
O projeto segue os princípios de DDD e a arquitetura padrão do Spring Boot:
com.fiap.crm.model.entities: Entidades JPA mapeadas para o banco de dados.com.fiap.crm.model.vo: Value Objects (ex: Endereço).com.fiap.crm.model.enums: Enumerações (Qualificação, Tipo, Área de Interesse, Status).com.fiap.crm.repository: Interfaces Spring Data JPA para persistência.com.fiap.crm.service: Lógica de negócio e orquestração de serviços.com.fiap.crm.config: Configurações e inicialização de dados.
- Importe o projeto no IntelliJ IDEA como um projeto Maven.
- Execute a classe
CrmApplication. - O sistema irá inicializar o banco de dados e executar uma demonstração automática de CRUD no console.
- O console do H2 pode ser acessado em
http://localhost:8080/h2-console(JDBC URL:jdbc:h2:mem:crmdb).
- Conexão com banco de dados via JDBC/JPA.
- Tabelas individuais para todas as entidades: Vendedor, Atendente, Prospectante, Cliente, Usuário e Contrato.
- Operações de CRUD implementadas para todas as entidades.
- Implementação de canais de acesso e lógica de chatbot.