Skip to content

CRUD finanças #32

@isabeldiana

Description

@isabeldiana

📝 Refatoração: Módulo de Contas (Bills)

link figma: https://www.figma.com/make/GYEo5rQomfu7HlDV9MCRkz/Design-do-aplicativo-Aura?p=f&t=D5oWcxvg1hPVqPSV-0

Objetivo: Migrar categorias para tabela própria e padronizar endpoints.

🏗️ Modelagem (Prisma)

model CategoryBill {
  id    String @id @default(uuid())
  name  String @unique
  bills Bill[]
}

model Bill {
  id           String   @id @default(uuid())
  description  String
  amount       Decimal
  month         String
  year             String
  type         BillType // INCOME | EXPENSE
  date         DateTime
  paid         Boolean  @default(false)
  categoryId   String
  category     Category @relation(fields: [categoryId], references: [id])
  userId       String
  createdAt    DateTime @default(now())
  updatedAt    DateTime @updatedAt
}

🛣️ Endpoints

  • Categorias: GET /categories Lista todas as categorias para selects no front-end. |

  • GET /categories/:id/stats Retorna estatísticas de uso de uma categoria específica.

  • Contas (CRUD): GET /bills (filtros: type, category, date) |

  • POST /bills Cria uma nova receita ou despesa.|

  • PATCH /bills/:id Atualiza todos os dados de uma conta existente.|

  • PATCH /bills/:id/status Alterna o status de pagamento (paid) de forma rápida.|

  • DELETE /bills/:id Remove um lançamento do banco de dados.

  • Dashboard: GET /bills/balance Retorna totalIncome, totalExpenses e balance.|

  • GET /bills/by-category Retorna o somatório agrupado por categoria (ideal para gráficos).

Parâmetros de busca (Query Params para GET /bills):
page: Número da página (Padrão: 1).
limit: Itens por página (Padrão: 20).
type: Filtra por INCOME ou EXPENSE.
categoryId: Filtra por uma categoria específica.
month / year: Filtra por competência mensal.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No fields configured for Task.

    Projects

    Status

    Backlog

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions