Skip to content

FoodMarketAPI é uma API desenvolvida em Java com Spring para gerenciar um catálogo de produtos em um marketplace. O sistema permite que usuários cadastrem produtos e categorias, associem produtos a categorias e realizem operações como atualização e remoção.

License

Notifications You must be signed in to change notification settings

JVictor011/FoodMarketAPI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FoodMarketAPI

Java Spring MongoDB AWS

API de gerenciamento de categorias e produtos de um mercado, desenvolvida com Java, Spring Boot, MongoDB e AWS SNS para envio de notificações.

Funcionalidades

  • Cadastro de Categorias e Produtos: Permite cadastrar, atualizar, excluir e listar categorias e produtos.
  • Integração com AWS SNS: Envio de mensagens para tópicos SNS quando novos produtos são cadastrados ou atualizados.
  • Persistência com MongoDB: Dados armazenados de forma eficiente usando o MongoDB.
  • Endpoints RESTful para interação com as entidades.

Tecnologias Utilizadas

  • Java 17: Linguagem de programação.
  • Spring Boot: Framework utilizado para construção da API.
  • MongoDB: Banco de dados NoSQL para persistência de dados.
  • AWS SNS: Serviço da AWS para gerenciamento de notificações e eventos.
  • JUnit: Para execução de testes automatizados.

Endpoints

/categories

  • GET /categories: Retorna todas as categorias.
  • POST /categories: Cria uma nova categoria.
  • PUT /categories/{id}: Atualiza uma categoria.
  • DELETE /categories/{id}: Exclui uma categoria.

/products

  • GET /products: Retorna todos os produtos.
  • POST /products: Cria um novo produto.
  • PUT /products/{id}: Atualiza um produto.
  • DELETE /products/{id}: Exclui um produto.

Configuração

  1. Clone o repositório:
    git clone https://github.com/jvictor011/FoodMarketAPI.git
  2. Certifique-se de ter o Java 17 instalado.
  3. Configure o arquivo application.properties com suas credenciais da AWS.
    spring.application.name=FoodMarketAPI
    
    aws.accessKeyId=${ACCESS_KEY_ID}
    aws.secretKey=${SECRET_KEY}
    aws.region=${AWS_REGION}
    aws.sns.topic.catalog.arn=${SNS_CATALOG_ARN}
  4. Execute a aplicação com o comando Maven:
    mvn spring-boot:run

Exemplos de Requisições

Criar Categoria

POST /categories

{
  "title": "Bebidas",
  "description": "Categoria para bebidas variadas.",
  "ownerId": "ownerId"
}

Criar Produto

POST /products

 {
   "title": "Coca-Cola",
   "description": "Refrigerante de cola",
   "price": 5.99,
   "categoryId": "id_da_categoria",
   "ownerId": "ownerId"
 }

Licença

Este projeto está licenciado sob a Licença MIT - veja o arquivo LICENSE para mais detalhes.

Resumo da Licença MIT

A Licença MIT permite que qualquer pessoa faça o que quiser com o código, incluindo usar, copiar, modificar, mesclar, publicar, distribuir, sublicenciar e/ou vender cópias do Software, desde que a seguinte mensagem de copyright e a licença sejam incluídas em todas as cópias ou partes substanciais do Software.

O software é fornecido "no estado em que se encontra", sem qualquer garantia de qualquer tipo, expressa ou implícita, incluindo, mas não se limitando a garantias de comercialização, adequação a um propósito específico e não infração. Em nenhum caso os autores ou detentores do copyright serão responsáveis por qualquer reclamação, dano ou outra responsabilidade, seja em uma ação de contrato, ato ilícito ou de outra forma, decorrente de, ou em conexão com, o software ou o uso ou outros negócios no software.

About

FoodMarketAPI é uma API desenvolvida em Java com Spring para gerenciar um catálogo de produtos em um marketplace. O sistema permite que usuários cadastrem produtos e categorias, associem produtos a categorias e realizem operações como atualização e remoção.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages