Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/maikonalexandre/measure-reader
π A simple water and gas meter reader api, powered by artificial intelligence.
https://github.com/maikonalexandre/measure-reader
biome docker docker-compose fastify google-generative-ai nodejs postgresql prisma typescript zod
Last synced: about 22 hours ago
JSON representation
π A simple water and gas meter reader api, powered by artificial intelligence.
- Host: GitHub
- URL: https://github.com/maikonalexandre/measure-reader
- Owner: maikonalexandre
- Created: 2024-08-27T23:34:25.000Z (4 months ago)
- Default Branch: master
- Last Pushed: 2024-10-12T13:53:12.000Z (2 months ago)
- Last Synced: 2024-11-06T03:47:35.781Z (about 2 months ago)
- Topics: biome, docker, docker-compose, fastify, google-generative-ai, nodejs, postgresql, prisma, typescript, zod
- Language: TypeScript
- Homepage:
- Size: 73.2 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# β±οΈ Measure reader
π Install
Β Β β’Β Β
π οΈ Stack
Β Β β’Β Β
π¦ Twitter![GitHub stars](https://img.shields.io/github/stars/maikonalexandre/measure-reader)
![GitHub issues](https://img.shields.io/github/issues/maikonalexandre/measure-reader)
![GitHub license](https://img.shields.io/github/license/maikonalexandre/measure-reader)
[![Required Node.JS >=18.0.0](https://img.shields.io/static/v1?label=node&message=%20%3E=18.0.0&logo=node.js&color=3f893e)](https://nodejs.org/about/releases)## π Introduction
[**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.
## β¨ Main features:
- 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
## π Install
You will need:
- [Docker](https://www.docker.com/)
- [Docker compose](https://docs.docker.com/compose/)
- [Node.js 18+ (recommended 20 LTS)](https://nodejs.org/en/).
- [Git](https://git-scm.com/).1. Clone this repo locally:
```bash
git clone [email protected]:maikonalexandre/measure-reader.git
```2. Install dependencies:
```bash
#run
npm install
# or
pnpm install
# or
yarn install
```3. Start project:
```bash
#run
docker-compose build && docker-compose up
```## π οΈ Stack
- [**TypeScript**](https://www.typescriptlang.org/) - JavaScript with syntax for types.
- [**Fastify**](https://www.fastify.io/) - A web framework highly focused on providing the best developer experience with the least overhead and a powerful plugin architecture.
- [**Prisma**](https://www.prisma.io/) - An ORM for JavaScript and TypeScript that simplifies database access and management.
- [**Biome**](https://biomejs.dev/pt-br/) - An alternative to ESLint and Prettier, made with Rust.
- [**Docker**](https://www.docker.com/) - A platform for developing, shipping, and running applications inside containers.
- [**Zod**](https://zod.dev/) - A TypeScript-first schema declaration and validation library.
- [**date-fns**](https://date-fns.org/) - A modern JavaScript date utility library delivering modularity, performance, and ease of use.
- [**@google/generative-ai**](https://www.npmjs.com/package/@google/generative-ai) - A library for interacting with Google's Generative AI models.**And more**