Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/vdrbreno/shopper-testetecnico-leituras-backend
Teste Técnico da Shopper: API REST com leitura automatizada de água e gás utilizando Inteligência Artificial
https://github.com/vdrbreno/shopper-testetecnico-leituras-backend
api-rest docker fastify google-gemini jest node prisma sqlite typescript
Last synced: about 2 months ago
JSON representation
Teste Técnico da Shopper: API REST com leitura automatizada de água e gás utilizando Inteligência Artificial
- Host: GitHub
- URL: https://github.com/vdrbreno/shopper-testetecnico-leituras-backend
- Owner: VDRBreno
- Created: 2024-08-27T15:32:37.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2024-08-29T16:00:30.000Z (4 months ago)
- Last Synced: 2024-10-12T02:42:07.550Z (2 months ago)
- Topics: api-rest, docker, fastify, google-gemini, jest, node, prisma, sqlite, typescript
- Language: TypeScript
- Homepage:
- Size: 308 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
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
```ts
{
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
```ts
{
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 )*
```ts
// opcional
measure_type: "WATER" | "GAS"
```
## Instalação ( Docker )
```bash
git clone https://github.com/VDRBreno/Shopper-TesteTecnico-Leituras-Backend.gitcd 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
```ts
// .env
GEMINI_API_KEY="CHAVE"
```Inicie o contêiner
```bash
docker compose up
# Aplicação rodando em localhost:3333
```
## Tecnologias usadas
- Docker
- TypeScript
- Node
- Prisma
- Jest
- Fastify
- Joi