Este projeto é uma API de busca de produtos utilizando Fastify, Redis e um banco de dados SQL (PostgreSQL ou MySQL). O sistema implementa um cache de produtos com TTL (Time to Live) de 3 minutos.
- Controllers: Lida com as requisições HTTP e interage com a camada de serviços.
- Services: Contém a lógica de negócio.
- Repositories: Acesso a dados, tanto para cache (Redis) quanto para o banco de dados SQL.
- Entities: Define o modelo de dados dos produtos.
- Instale as dependências:
npm install
- Inicie os containers do Redis e do banco SQL usando Docker:
docker-compose up -d
- Para iniciar a aplicação:
npm start
- Para rodar os testes:
npm test