API backend para o sistema de processamento e análise de faturas de energia elétrica da Lumi.
- Node.js (v16+)
- Docker e Docker Compose (para o banco de dados PostgreSQL)
- npm ou yarn
Clone o repositório:
# Clone o projeto
git clone https://github.com/rodrigobarros2/lumi-back.git
# Entre no diretório do projeto
cd lumi-backInstale as dependências:
yarn installInicie o banco de dados PostgreSQL usando Docker:
# Inicia os containers definidos no docker-compose.yml
docker-compose up -dNota: Certifique-se de ter o Docker e o Docker Compose instalados em seu sistema. Esta etapa criará e inicializará o container do PostgreSQL necessário para a aplicação.
Configure o banco de dados usando o Prisma:
# Executa as migrações do banco de dados
npx prisma migrate dev
# Gera o cliente Prisma
npx prisma generateEstas etapas criarão as tabelas necessárias no banco de dados e gerarão o cliente Prisma para interagir com o banco.
Inicie o servidor de desenvolvimento:
yarn devO backend estará disponível em http://localhost:3333 (ou a porta configurada no seu arquivo de ambiente).
A API fornece os seguintes endpoints principais:
GET /clients- Lista todos os clientesGET /clients/:id- Obtém um cliente específicoGET /invoices- Lista todas as faturas com opções de filtroGET /invoices/:id- Obtém detalhes de uma fatura específicaPOST /invoices/upload- Faz upload e processa uma nova faturaGET /invoices/:id/download- Obtém o PDF original da faturaGET /dashboard/stats- Obtém estatísticas para o dashboard
- Node.js
- Prisma (ORM)
- PostgreSQL (Banco de Dados)
- Docker (Containerização)
Coloquei dentro do projeto para facilitar a execução
Execute os testes:
# Testes unitários
yarn test| Comando | Descrição |
|---|---|
npm run dev |
Inicia o servidor de desenvolvimento |
npm run build |
Compila o projeto para produção |
npm run start |
Inicia o servidor em modo produção |
npm run lint |
Executa a verificação de linting |
npm run test |
Executa os testes unitários |
