Este é um sistema CRM com Helpdek, desenvolvido em Java com Spring Boot, utilizando Spring Data JPA, banco de dados MySQL via Docker, documentação com Swagger, arquitetura MVC, e uso de Lombok para redução de código repetitivo.
- Registro e acompanhamento de tickets de suporte
- Atribuição de tickets a usuários responsáveis
- Gerenciamento de contas e contatos associados
- Comentários em tickets (histórico colaborativo)
- Upload e download de anexos relacionados
- Classificação por prioridade e status
- Resolução de tickets com causa raiz e solução
- Autenticação de usuários
Tecnologia | Finalidade |
---|---|
Java 17+ | Linguagem principal |
Spring Boot | Framework principal para desenvolvimento |
Spring Data JPA | ORM para acesso ao banco de dados |
MySQL | Banco de dados relacional |
Docker | Containerização do banco de dados |
Lombok | Redução de boilerplate no código Java |
Swagger (OpenAPI) | Documentação interativa dos endpoints |
O projeto segue a arquitetura MVC com separação por pacotes:
- model — Entidades do sistema (Ticket, User, Account, Contact, etc)
- repository — Interfaces de persistência de dados (Spring Data)
- service — Camada de regras de negócio e lógica do sistema
- controller — Camada de exposição da API REST
- config — Configurações gerais da aplicação (Swagger, segurança, etc)
docker run --name mysql-helpdesk -e MYSQL_ROOT_PASSWORD=root -e MYSQL_DATABASE=helpdesk -p 3306:3306 -d mysql:8.0
docker exec -it mysql-helpdesk bash
mysql -u root -p
- Java 17 ou superior
- Maven
- Docker
- Clone este repositorio:
git clone https://github.com/ruantor4/crm-helpdesk.git
-
Suba o banco de dados MySQL via Docker
-
Configure o
application.properties
ouapplication.yml
# Database config MySQL
spring.jpa.hibernate.ddl-auto=update
spring.datasource.url=jdbc:mysql://localhost:3306/helpdesk
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.jpa.database-platform=org.hibernate.dialect.MySQL8Dialect
spring.jpa.show-sql: true
- Execute a aplicação com:
./mvnw spring-boot:run
Após rodar o projeto, acesse a documentação interativa da API:
http://localhost:8080/swagger-ui/index.html
Para Dúvidas ou sugestões, entre em contato: