📝 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.
📝 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)
🛣️ Endpoints
Categorias:
GET /categoriesLista todas as categorias para selects no front-end. |GET /categories/:id/statsRetorna estatísticas de uso de uma categoria específica.Contas (CRUD):
GET /bills(filtros: type, category, date) |POST /billsCria uma nova receita ou despesa.|PATCH /bills/:idAtualiza todos os dados de uma conta existente.|PATCH /bills/:id/statusAlterna o status de pagamento (paid) de forma rápida.|DELETE /bills/:idRemove um lançamento do banco de dados.Dashboard:
GET /bills/balanceRetorna totalIncome, totalExpenses e balance.|GET /bills/by-categoryRetorna 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.