|
|
| [Home](home) | [Escopo e Cronograma](escopo%20e%20cronograma) | [Processo](processo) | [Design/Mockups](design/mockups) | [Configuração](configuracao) | [Arquitetura](arquitetura) | [Infra](infraestrutura) | [Código](codigo) | [BD](banco%20de%20dados) | [Frontend](Frontend) | [API Backend](API-Backend) |
|
|
|
|--------------|-------------------------|----------------|------------------------|---------------------|--------------------|-------------------|--------------|------------------|----------------|------------------|
|
|
|
# Coopera RS - Documentação da API Backend
|
|
|
|
|
|
---
|
|
|
<div align="center">
|
|
|
<img src="uploads/df63c1ae8acde46d4d1f45f6ab1cd9a5/LogoCooperaRS.png" width="150">
|
|
|
</div>
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
# Coopera RS - Documentação da API Backend
|
|
|
|
|
|
## Visão Geral
|
|
|
|
|
|
Esta documentação descreve os principais endpoints da API do **Coopera RS**, uma plataforma voltada para o fortalecimento de pequenos empreendedores do Rio Grande do Sul.
|
... | ... | @@ -19,6 +14,16 @@ O backend do projeto foi construído com **Java + Spring Boot** adotando **arqui |
|
|
|
|
|
### Estrutura de Pastas
|
|
|
|
|
|
> **Observação:** O diretório `shared` contém classes, funções e estruturas reutilizáveis que não pertencem a uma camada específica da arquitetura. Ele é utilizado para:
|
|
|
>
|
|
|
> - Exceções personalizadas compartilhadas (ex: `UserNotFoundException`)
|
|
|
> - Utilitários genéricos (ex: manipulação de datas, validações)
|
|
|
> - DTOs e Enums comuns a mais de uma camada
|
|
|
> - Mensagens padronizadas de erro/sucesso
|
|
|
>
|
|
|
> Isso promove reuso, evita duplicação e mantém o domínio e a infraestrutura mais limpos.
|
|
|
|
|
|
|
|
|
O projeto segue a seguinte estrutura base:
|
|
|
|
|
|
```
|
... | ... | @@ -26,6 +31,7 @@ O projeto segue a seguinte estrutura base: |
|
|
├── domain # Entidades de negócio, agregados, interfaces
|
|
|
├── infrastructure # Implementações técnicas (controladores, repositórios, clientes HTTP)
|
|
|
├── config # Arquivos de configuração (segurança, Swagger, JWT)
|
|
|
├── shared # Utilitários e exceções comuns
|
|
|
```
|
|
|
|
|
|
Os endpoints são expostos por meio de controladores REST no módulo `infrastructure`, que dependem apenas das portas definidas no `domain`. O Swagger está configurado para facilitar a exploração da API.
|
... | ... | @@ -34,6 +40,11 @@ Os endpoints são expostos por meio de controladores REST no módulo `infrastruc |
|
|
|
|
|
## Sumário
|
|
|
|
|
|
| [Home](home) | [Escopo e Cronograma](escopo%20e%20cronograma) | [Processo](processo) | [Design/Mockups](design/mockups) | [Configuração](configuracao) | [Arquitetura](arquitetura) | [Infra](infraestrutura) | [Código](codigo) | [BD](banco%20de%20dados) | [Frontend](Frontend) | [API Backend](API-Backend) |
|
|
|
|--------------|-------------------------|----------------|------------------------|---------------------|--------------------|-------------------|--------------|------------------|----------------|------------------|
|
|
|
|
|
|
---
|
|
|
|
|
|
## Exemplos de Payloads JSON por Endpoint
|
|
|
|
|
|
### Autenticação
|
... | ... | @@ -187,3 +198,35 @@ Remove um item. |
|
|
|
|
|
---
|
|
|
|
|
|
*Esta documentação é baseada em mocks e estrutura real do frontend e deve ser validada com o Swagger da aplicação para fins de integração.*
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
## Patrocínios (SponsorService)
|
|
|
|
|
|
> ⚠️ **Em desenvolvimento** — Os endpoints abaixo fazem parte da infraestrutura do serviço `SponsorService`, mas ainda podem não estar acessíveis via Swagger.
|
|
|
|
|
|
### `GET /api/sponsor/products`
|
|
|
Retorna lista de produtos patrocinados (em destaque na plataforma).
|
|
|
|
|
|
### `GET /api/sponsor/stores`
|
|
|
Retorna lista de lojas patrocinadas.
|
|
|
|
|
|
### `POST /api/sponsor/product`
|
|
|
Adiciona destaque a um produto.
|
|
|
```json
|
|
|
{
|
|
|
"productId": 123,
|
|
|
"priority": 1
|
|
|
}
|
|
|
```
|
|
|
|
|
|
### `POST /api/sponsor/store`
|
|
|
Adiciona destaque a uma loja.
|
|
|
```json
|
|
|
{
|
|
|
"storeId": 456,
|
|
|
"priority": 2
|
|
|
}
|
|
|
``` |