A CRMfy nasceu para conectar empresas e pessoas de forma inteligente. Com tecnologia, dados e IA, transformamos cada interação em uma oportunidade de crescimento. Mais que um CRM, somos o elo entre o humano e o digital — o futuro dos relacionamentos.
Entre os principais recursos que um CRM oferece, destacam-se:
- Usuário: representa vendedores e gestores que utilizam o sistema.
- Cliente: centraliza dados de pessoas e empresas.
- Oportunidade: registra negociações em andamento, com valor, prazo e status.
- Arquitetura pensada para simplicidade e eficiência.
A API do CRMfy foi desenvolvida em Java, utilizando o framework Spring, e segue os princípios da Arquitetura MVC e REST. Ela disponibiliza endpoints para o gerenciamento dos recursos Cliente, Oportunidades e Usuário, com testes de CRUD (Create, Read, Update e Delete) realizados por meio do Insomnia.
1 - Organizar informações de clientes e negociações. 2 - Gerenciar oportunidades no funil de vendas, com acompanhamento dos status das propostas. 3 - Potencializar o atendimento e o fechamento de negócios.
O Diagrama de Classes é um modelo visual usado na programação orientada a objetos para representar a estrutura de um sistema. Ele exibe classes, atributos, métodos e os relacionamentos entre elas, como associações, heranças e dependências.
Esse diagrama ajuda a planejar e entender a arquitetura do sistema, mostrando como as entidades interagem e se conectam. É amplamente utilizado nas fases de design e documentação de projetos.
classDiagram
direction LR
class TbUsuarios {
+BIGINT id
+VARCHAR(100) cargo
+VARCHAR(1000) foto
+VARCHAR(100) nome
+VARCHAR(100) senha
+VARCHAR(100) usuario
}
class TbOportunidades {
+BIGINT id
+VARCHAR(255) descricao
+VARCHAR(255) status
+DECIMAL(38,2) valor
+BIGINT cliente_id
+BIGINT usuario_id
}
class TbClientes {
+BIGINT id
+VARCHAR(255) email
+VARCHAR(100) nome
+VARCHAR(255) origem
+VARCHAR(255) telefone
}
TbUsuarios "1" --> "0.." TbOportunidades : possui
TbClientes "1" --> "0.." TbOportunidades : possui
O DER (Diagrama Entidade-Relacionamento) do projeto CRM representa de forma visual como os dados estão organizados no banco de dados relacional e como as entidades se relacionam entre si.
| Item | Descrição |
|---|---|
| Servidor | Apache Tomcat |
| Linguagem de programação | Java |
| Framework | SpringBoot |
| ORM | JPA + Hibernate |
| Banco de dados Relacional | MySQL |
Para executar os códigos localmente, você precisará:
- Java JDK 17+
- Banco de dados MySQL
- STS
- Insomnia
- Clone o repositório do Projeto CRM dentro da pasta do Workspace do STS
git clone https://github.com/CodeQueensjava83/crm_backend.git- Abra o STS e selecione a pasta do Workspace onde você clonou o repositório do projeto
- No menu superior do STS, clique na opção: File 🡲 Import...
- Na janela Import, selecione a opção: General 🡲 Existing Projects into Workspace e clique no botão Next
- Na janela Import Projects, no item Select root directory, clique no botão Browse... e selecione a pasta do Workspace onde você clonou o repositório do projeto
- O STS reconhecerá o projeto automaticamente
- Marque o Projeto Loja Games no item Projects e clique no botão Finish para concluir a importação
- Na Guia Boot Dashboard, localize o Projeto crm_backend
- Selecione o Projeto CRM_Backend
- Clique no botão Start or Restart
para iniciar a aplicação
- Caso seja perguntado se você deseja autorizar o acesso ao projeto via rede, clique no botão Permitir Acesso
- Acompanhe a inicialização do projeto no console do STS
- Verifique se o banco de dados
db_crmfoi criado corretamente e se as tabelas foram geradas automaticamente. - Utilize o Insomnia para testar os endpoints.
Tip
Ao acessar a URL http://localhost:8080 em seu navegador, a interface do Swagger será carregada automaticamente, permitindo a visualização e a interação com os endpoints da API, bem como a consulta dos modelos de dados utilizados.
Este repositório é parte de um projeto educacional, mas contribuições são sempre bem-vindas! Caso tenha sugestões, correções ou melhorias, fique à vontade para:
- Criar uma issue
- Enviar um pull request
- Compartilhar com colegas que estejam aprendendo Java!
Desenvolvido por CodeQueens: Carina, Luana, Maria, Milena, Myriam, Rafaela Para dúvidas, sugestões ou colaborações, entre em contato via GitHub ou abra uma issue!bra uma issue!


