Skip to content

Repositório do Projeto Foodly, desenvolvido durante o Bootcamp Full Stack Java da Generation Brasil.

Notifications You must be signed in to change notification settings

Projeto-ClientFlow/Foodly

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Projeto Foodly

Plataforma de Delivery de Alimentos

Banner do Projeto Foodly

O projeto Foodly é uma aplicação backend desenvolvida em Java com o Spring Framework, integrada a um banco de dados SQL. Seu principal objetivo é oferecer uma API CRUD eficiente para a gestão de produtos e categorias no setor de delivery, garantindo um fluxo de informações organizado, estruturado e eficiente.


Java Spring MySQL Insomnia


📖 Tabela de Conteúdo


💡 Conhecimentos Mobilizados

  • 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.
  • Swagger: Documentação da API utilizando Swagger, permitindo testes interativos e facilitando a comunicação entre desenvolvedores e clientes.
  • Autenticação e Segurança: Implementação de autenticação e proteção de dados dos usuários por meio de hashing de senhas.
  • Testes de API: Uso do Insomnia para validar os endpoints e garantir o correto funcionamento da aplicação.
  • Regra de Negócio: Implementação da funcionalidade de aplicação automática de desconto para compras acima de R$100,00, com valores configuráveis conforme necessidade da empresa usuária.
  • Deploy: Disponibilização da aplicação em ambiente de produção utilizando a plataforma Render, garantindo acessibilidade e funcionamento contínuo.

🏗️ Estrutura do Projeto

foodly/
├── controller/
│   ├── UsuarioController.java
│   ├── CategoriaController.java
│   └── ProdutoController.java
├── model/
│   ├── Usuario.java
│   ├── Categoria.java
│   └── Produto.java
├── repository/
│   ├── UsuarioRepository.java
│   ├── CategoriaRepository.java
│   └── ProdutoRepository.java
├── service/
│   ├── UsuarioService.java
│   ├── CategoriaService.java
│   └── ProdutoService.java
├── config/
│   ├── SwaggerConfig.java
│   ├── SecurityConfig.java
│   └── CorsConfig.java
├── resources/
│   ├── application.properties
│   └── data.sql
├── FoodlyApplication.java

📂 Código Desenvolvido

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(), garantindo operações CRUD eficientes.
  • Usuario / Categoria / Produto: Modelos que representam as entidades do sistema, definindo atributos essenciais para a estrutura e persistência dos dados.
  • UsuarioRepository / CategoriaRepository / ProdutoRepository: Interfaces que estendem JpaRepository, permitindo a comunicação eficiente com o banco de dados MySQL e simplificando as operações de persistência.
  • UsuarioService / ProdutoService: Camada de serviço que contém a lógica de negócio, garantindo uma melhor separação de responsabilidades e a aplicação de boas práticas no desenvolvimento.
  • application.properties: Arquivo de configuração que define a conexão com o banco de dados, especificando credenciais, configurações do Hibernate e propriedades do Spring Boot.
  • FoodlyApplication: Classe principal que inicializa a aplicação Spring Boot, garantindo a execução da API e a configuração dos componentes do sistema.

🛠️ Tecnologias Utilizadas

  • Linguagem: Java
  • Framework: Spring Boot
  • Banco de Dados: MySQL
  • JPA/Hibernate: Para persistência de dados e mapeamento objeto-relacional
  • IDE utilizada: Spring Tools Suite (STS)
  • Ferramenta de Testes: Insomnia, utilizada para testar os endpoints da API
  • Documentação da API: Swagger, para facilitar a interação com os endpoints
  • Gerenciamento de Dependências: Maven, para controle de bibliotecas e plugins do projeto
  • Segurança: Spring Security, para controle de autenticação e autorização
  • Deploy: Plataforma Render, garantindo a disponibilização do backend em ambiente de produção

🤝 Desenvolvedoras do Projeto

Este projeto foi possível graças às contribuições das seguintes desenvolvedoras:

About

Repositório do Projeto Foodly, desenvolvido durante o Bootcamp Full Stack Java da Generation Brasil.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 5