O projeto ClientFlow é uma aplicação backend desenvolvida em Java com o Spring Framework, contendo integração a um banco de dados SQL. Seu principal objetivo é oferecer uma API CRUD eficiente para a gestão de clientes, categorias e produtos, garantindo um fluxo organizado e estruturado de informações.
- 💡 Conhecimentos Mobilizados
- 🏗️ Estrutura do Projeto
- 📂 Código Desenvolvido
- 🛠️ Tecnologias Utilizadas
- 🤝 Desenvolvedoras do Projeto
- Spring Framework: Uso do Spring Boot para a construção de APIs RESTful, seguindo boas práticas de desenvolvimento.
- JPA e Hibernate: Mapeamento objeto-relacional para integração com o banco de dados MySQL, garantindo uma persistência eficiente.
- Padrões de Projeto: Implementação da arquitetura em camadas (Model, Repository, Controller) para uma melhor organização do código.
- Banco de Dados: Configuração e gerenciamento do banco de dados MySQL, utilizando Spring Data JPA para persistência dos dados.
- RESTful API: Desenvolvimento de endpoints para manipulação das entidades do sistema, permitindo operações CRUD para usuários, categorias e produtos.
clientflow/
├── controller/
│ ├── UsuarioController.java
│ ├── CategoriaController.java
│ └── ProdutoController.java
├── model/
│ ├── Usuario.java
│ ├── Categoria.java
│ └── Produto.java
├── repository/
│ ├── UsuarioRepository.java
│ ├── CategoriaRepository.java
│ └── ProdutoRepository.java
├── resources/
│ └── application.properties
└── ClientFlowApplication.java
Para melhor visualização, aqui estão os principais componentes do sistema:
UsuarioController/CategoriaController/ProdutoController: Controladores responsáveis pela manipulação das respectivas entidades, implementando métodos como getAll(), getById(), create(), update() e delete().Usuario/Categoria/Produto: Modelos que representam as entidades do sistema, incluindo atributos essenciais para o funcionamento da aplicação.UsuarioRepository/CategoriaRepository/ProdutoRepository: Interfaces que estendem JpaRepository, permitindo a comunicação eficiente com o banco de dados MySQL. application.properties: Arquivo de configuração que define a conexão com o banco de dados, especificando credenciais e propriedades do Spring.ClientFlowApplication: Classe principal que inicializa a aplicação Spring Boot.
- Linguagem: Java
- Framework: Spring Boot
- Banco de Dados: MySQL
- JPA/Hibernate: Para persistência de dados
- IDE utilizada: Spring Tools Suite (STS)
- Ferramenta de Testes: Insomnia
Este projeto foi possível graças às contribuições das seguintes desenvolvedoras:
