Este projeto é um backend para gerenciar a leitura individualizada de consumo de água e gás. Utiliza IA para obter a medição através da foto de um medidor.
- Node.js
- NestJS
- TypeScript
- Prisma
- Docker
- Google Generative AI (Gemini)
- Node.js
- Docker
- Prisma
-
Clone o repositório:
git clone https://github.com/seu-usuario/water-gas-meter-backend.git cd water-gas-meter-backend
-
Instale as dependências:
npm install
-
Configure as variáveis de ambiente:
Crie um arquivo
.env
na raiz do projeto com as seguintes variáveis:GEMINI_API_KEY="sua-chave-api-gemini"
-
Configure o Prisma:
npx prisma migrate dev --name init
-
Inicie a aplicação com Docker:
docker-compose up --build
Recebe uma imagem em base64, consulta o Gemini e retorna a medida lida pela API.
Request Body:
{
"image": "base64",
"customer_code": "string",
"measure_datetime": "datetime",
"measure_type": "WATER" ou "GAS"
}
Response Body:
{
"image_url": "string",
"measure_value": "integer",
"measure_uuid": "string"
}
Confirma ou corrige o valor lido pelo LLM.
Request Body:
{
"measure_uuid": "string",
"confirmed_value": "integer"
}
Response Body:
{
"success": true
}
Lista as medidas realizadas por um determinado cliente.
Query Parameters:
measure_type
(opcional): "WATER" ou "GAS"
Response Body:
{
"customer_code": "string",
"measures": [
{
"measure_uuid": "string",
"measure_datetime": "datetime",
"measure_type": "string",
"has_confirmed": "boolean",
"image_url": "string"
}
]
}
- Faça um fork do projeto
- Crie uma branch para sua feature (
git checkout -b feature/nova-feature
) - Commit suas mudanças (
git commit -m 'Adiciona nova feature'
) - Faça o push para a branch (
git push origin feature/nova-feature
) - Abra um Pull Request
Este projeto está licenciado sob a licença MIT.