/Shopper-TesteTecnico-Leituras-Backend

Teste Técnico da Shopper: API REST com leitura automatizada de água e gás utilizando Inteligência Artificial

Primary LanguageTypeScript

Teste Técnico: Leitura automatizada de água e gás com Inteligência Artificial

Desafio: Criar API REST utilizando TypeScript + Node tendo 3 endpoints e integração com API do Google Gemini, criar imagem da aplicação com Docker.


Endpoints

POST /upload

Responsável por receber uma imagem em base 64, consultar o Gemini e retornar a medida lida pela API

  • Request Body
{
  image: "base64",
  customer_code: "string",
  measure_datetime: "datetime",
  measure_type: "WATER" | "GAS"
}

PATCH /confirm

Responsável por confirmar ou corrigir o valor lido pelo LLM

  • Request Body
{
  measure_uuid: "string",
  confirmed_value: "integer"
}

GET /:customer_code/list

Responsável por listar as medidas realizadas por um determinado cliente

  • Request Query ( /list?query=value )
// opcional
measure_type: "WATER" | "GAS"

Instalação ( Docker )

git clone https://github.com/VDRBreno/Shopper-TesteTecnico-Leituras-Backend.git

cd Shopper-TesteTecnico-Leituras-Backend

Crie um novo arquivo .env e coloque uma Chave de API do Gemini https://ai.google.dev/gemini-api/docs/api-key

// .env
GEMINI_API_KEY="CHAVE"

Inicie o contêiner

docker compose up
# Aplicação rodando em localhost:3333

Tecnologias usadas

  • Docker
  • TypeScript
  • Node
  • Prisma
  • Jest
  • Fastify
  • Joi