measure-reader application was developed to automate the process of reading water and gas meters. Using Google's artificial intelligence model, Gemini, the application is able to extract the reading from the numbers shown in an image of the meter sent by the user.
-
Image upload: The user can upload a photo of a water or gas meter
-
AI-powered image processing: The application uses the Gemini model to identify and extract the number displayed on the meter.
-
Data storage: The extracted reading and the received image are saved in a database.
-
Confirmation and update: The user can confirm the reading made by the AI and, if there are discrepancies, update the data.
-
Reading list: It is possible to list all readings recorded in the system
You will need:
- Clone this repo locally:
git clone [email protected]:maikonalexandre/measure-reader.git
- Install dependencies:
#run
npm install
# or
pnpm install
# or
yarn install
- Start project:
#run
docker-compose build && docker-compose up
- TypeScript - JavaScript with syntax for types.
- Fastify - A web framework highly focused on providing the best developer experience with the least overhead and a powerful plugin architecture.
- Prisma - An ORM for JavaScript and TypeScript that simplifies database access and management.
- Biome - An alternative to ESLint and Prettier, made with Rust.
- Docker - A platform for developing, shipping, and running applications inside containers.
- Zod - A TypeScript-first schema declaration and validation library.
- date-fns - A modern JavaScript date utility library delivering modularity, performance, and ease of use.
- @google/generative-ai - A library for interacting with Google's Generative AI models.
And more