Skip to content

Latest commit

 

History

7 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

Farmácia API 💊

Java Spring Boot MySQL Spring Security Swagger Git GitHub Status

API REST desenvolvida em Spring Boot para gerenciamento de uma farmácia, com CRUD completo de Categorias e Produtos, cadastro e autenticação de Usuários com JWT.

Projeto individual — Performance Goal Check Bloco 02 | Generation Brasil


Objetivo do projeto

O objetivo deste projeto é praticar os principais conceitos de desenvolvimento backend com Spring Boot, como:

  • Criação de API REST com Spring Web
  • Mapeamento de entidades com Spring Data JPA
  • Relacionamento entre entidades (@ManyToOne / @OneToMany)
  • Validação de dados com Bean Validation
  • Autenticação e autorização com Spring Security e JWT
  • Documentação de API com Springdoc OpenAPI / Swagger UI
  • Boas práticas de versionamento com Git e GitHub

Funcionalidades

  • Cadastrar, listar, buscar, atualizar e deletar categorias
  • Cadastrar, listar, buscar, atualizar e deletar produtos
  • Relacionar produtos a categorias com integridade referencial
  • Cadastrar, autenticar e gerenciar usuários
  • Proteger endpoints com token JWT
  • Documentar e testar a API via Swagger UI

Estrutura do projeto

src/main/java/com/generation/farmacia
├── controller
│   ├── CategoriaController.java
│   ├── ProdutoController.java
│   └── UsuarioController.java
├── model
│   ├── Categoria.java
│   ├── Produto.java
│   └── Usuario.java
├── repository
│   ├── CategoriaRepository.java
│   ├── ProdutoRepository.java
│   └── UsuarioRepository.java
├── security
│   ├── JwtAuthFilter.java
│   ├── JwtService.java
│   ├── SecurityConfig.java
│   ├── UserDetailsImpl.java
│   └── UserDetailsServiceImpl.java
└── ProjetoFinalBloco02Application.java

Endpoints

Usuários

Método Endpoint Autenticação Descrição
POST /usuarios/cadastrar Pública Cadastra novo usuário
POST /usuarios/logar Pública Autentica e retorna token JWT
GET /usuarios Token JWT Lista todos os usuários
GET /usuarios/{id} Token JWT Busca usuário por id
PUT /usuarios/{id} Token JWT Atualiza usuário

Categorias

Método Endpoint Autenticação Descrição
GET /categorias Token JWT Lista todas as categorias
GET /categorias/{id} Token JWT Busca categoria por id
GET /categorias/nome/{nome} Token JWT Busca categoria por nome
POST /categorias Token JWT Cadastra nova categoria
PUT /categorias Token JWT Atualiza categoria
DELETE /categorias/{id} Token JWT Deleta categoria

Produtos

Método Endpoint Autenticação Descrição
GET /produtos Token JWT Lista todos os produtos
GET /produtos/{id} Token JWT Busca produto por id
GET /produtos/nome/{nome} Token JWT Busca produto por nome
POST /produtos Token JWT Cadastra novo produto
PUT /produtos Token JWT Atualiza produto
DELETE /produtos/{id} Token JWT Deleta produto

Autenticação

A API utiliza JWT Bearer Token. Após o login em /usuarios/logar, inclua o token retornado no header de todas as requisições protegidas:

About

Projeto desenvolvido em Spring Boot para a atividade prática CRUD-Farmácia (Bloco 02 - Generation Brasil). O sistema implementa operações de CRUD para Categorias e Produtos, incluindo relacionamento entre entidades, seguindo boas práticas de desenvolvimento, versionamento com branches específicas e integração com banco de dados.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages