API para monitoramento de preços de produtos em lojas virtuais.
O PriceGuard recebe a URL de um produto, coleta suas informações, armazena os dados no PostgreSQL e permite acompanhar alterações de preço ao longo do tempo.
Projeto autoral desenvolvido individualmente por Elza Aquino, com foco na aplicação prática de conceitos de Engenharia de Software e desenvolvimento backend.
O sistema foi desenvolvido para automatizar o acompanhamento de preços.
URL do produto
│
▼
┌───────────────┐
│ Scraper │
└───────┬───────┘
│
▼
Dados do produto
│
▼
┌───────────────┐
│ Service │
└───────┬───────┘
│
▼
┌───────────────┐
│ PostgreSQL │
└───────┬───────┘
│
▼
Comparação de preços
│
├── Sem alteração
│
├── Aumento
│
└── Queda
O backend utiliza separação por responsabilidades, para conseguir manter toda aplicação do produto(sistema)
Controller
│
▼
Service
│
├──────────────► ScraperService
│
├──────────────► NotificacaoService
│
▼
Repository
│
▼
PostgreSQL
src/main/java/com/priceguard/priceguard/
├── controller/
│ └── MonitoramentoController.java
│
├── dto/
│ ├── MonitoramentoRequest.java
│ └── MonitoramentoResponse.java
│
├── exception/
│ ├── ResourceNotFoundException.java
│ └── ScraperException.java
│
├── model/
│ ├── Cliente.java
│ └── Monitoramento.java
│
├── repository/
│ ├── ClienteRepository.java
│ └── MonitoramentoRepository.java
│
├── scraper/
│ └── ScraperService.java
│
└── service/
├── MonitoramentoService.java
└── NotificacaoService.java