API de gerenciamento de categorias e produtos de um mercado, desenvolvida com Java, Spring Boot, MongoDB e AWS SNS para envio de notificações.
- 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.
- 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.
- GET /categories: Retorna todas as categorias.
- POST /categories: Cria uma nova categoria.
- PUT /categories/{id}: Atualiza uma categoria.
- DELETE /categories/{id}: Exclui uma categoria.
- GET /products: Retorna todos os produtos.
- POST /products: Cria um novo produto.
- PUT /products/{id}: Atualiza um produto.
- DELETE /products/{id}: Exclui um produto.
- Clone o repositório:
git clone https://github.com/jvictor011/FoodMarketAPI.git
- Certifique-se de ter o Java 17 instalado.
- 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}
- Execute a aplicação com o comando Maven:
mvn spring-boot:run
{
"title": "Bebidas",
"description": "Categoria para bebidas variadas.",
"ownerId": "ownerId"
} {
"title": "Coca-Cola",
"description": "Refrigerante de cola",
"price": 5.99,
"categoryId": "id_da_categoria",
"ownerId": "ownerId"
}Este projeto está licenciado sob a Licença MIT - veja o arquivo LICENSE para mais detalhes.
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.