Skip to content

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

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages