Skip to content

wallace-lw/shopper-backend-test

Repository files navigation

Shopper Backend - Teste

Este projeto é uma aplicação desenvolvida com Node.js, utilizando TypeScript, Express, Prisma e a API Generative AI do Gemini. A aplicação tem como objetivo de extrair valores de medidores e retornar suas medidas. Com a integração da API Generative AI, o projeto explora recursos avançados de inteligência artificial para extrair valores de imagens.

Pré-requisitos

  • Node.js 18: Certifique-se de ter o Node.js versão 18 instalada em sua máquina antes de prosseguir com a instalação e execução do projeto.

Para executar o projeto rode:

    $ npm install
    $ docker compose up --build

DOCUMENTAÇÃO

https://ai.google.dev/gemini-api/docs/api-key

https://ai.google.dev/gemini-api/docs/vision

TODO:

  • Criar entidade de Documento(Imagem)

Fazer validação da entidade do Documento

  • Validar o tipo de dados dos parâmetros enviados (inclusive o base64)
  • Verificar se já existe uma leitura no mês naquele tipo de leitura.
  • Integrar com uma API de LLM para extrair o valor da imagem

O endpoint POST /upload ira retornar

  • Retornar temporário para a imagem
  • Um GUID
  • O valor numérico reconhecido pela LLM
  • Criar rota de confirmação PATCH /confirm

Validar:

  • O tipo de dados dos parametros enviados

  • Se o código de leitura informado existe

  • Se o código de leitura já foi informado

  • Salvar no banco de dados o novo valor informado

  • Retornar resposta de OK ou Erro dependendo do valor informado

  • Criar rota GET //list - Listar medidas realizadas por um determinado cliente

    • Receber um código como parâmetro
    • Também pode receber um query parameter “measure_type”, que deve ser “WATER” ou “GAS”
      • A validação deve ser CASE INSENSITIVE
      • Se o parametro for informado listar apenas os valores do tipo especificado, se não, retornar todos os tipos
  • Retornar uma lista com todas leituras realizadas daquele cliente


  • Dockerizar a aplicação
  • Fazer tratamento de erros das rotas
  • Fazer teste unitários❌

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published