Esse é um sistema que lê dados de faturas de energia elétrica através de um bot escrito em Python, salvando-os em um banco PostgreSQL e disponibilizando em gráficos através de um frontend em ReactJS utilizando a biblioteca Recharts.
- Frontend: React, Ant Design, TailwindCSS, Axios, Redux, Framer Motion, Recharts
- Backend: Node.js, Express, Prisma
- Banco de dados: PostgreSQL
- Testes: Vitest
- Scraper: Python, PDFMiner
- Node.js
- npm ou yarn
- PostgreSQL
- Python3
- Instale o PostgreSQL na sua máquina.
- Crie um banco de dados para o projeto chamado "lumi" com uma tabela chamada "faturas" com as seguintes colunas:
- id INTEGER
- numero_cliente TEXT
- mes_referencia TEXT
- energia_eletrica_quantidade DOUBLE PRECISION
- energia_eletrica_valor DOUBLE PRECISION
- energia_scee_quantidade DOUBLE PRECISION
- energia_scee_valor DOUBLE PRECISION
- energia_compensada_quantidade DOUBLE PRECISION
- energia_compensada_valor DOUBLE PRECISION
- contrib_ilum_publica DOUBLE PRECISION
- Configure as variáveis de ambiente para o acesso à base de dados no arquivo
.env
.
- Navegue até a pasta do backend (server).
- Instale as dependências:
npm install # ou yarn install
- Configure as variáveis de ambiente no arquivo '.env'.
- Rode as migrações do Prisma:
npx prisma migrate dev
- Instale as dependências do scraper em Python:
pip install -r requirements.txt
- Execute o script.py para realizar a raspagem dos dados e salvá-los no banco de dados PostgreSQL:
python script.py
- Inicie o servidor:
npm run start # ou yarn start
Saiba mais sobre a API acessando a documentação Swagger no endpoint /api-docs.
- Navege até a pasta do frontend (client).
- Instale as dependências:
npm install # ou yarn install
- Inicie a aplicação:
npm run dev # ou yarn start dev