Skip to content

ok2ju/budget-app-service

Repository files navigation

Budget App

TODO:

  • Add entities validation
  • Update swagger spec
  • Add spendings list query filters
  • Add PATCH, DELETE methods

Spending document:

  • id: String
  • createdAt: Date
  • note: String
  • labels: Array
  • photos[?]: Array (urls)
  • category: Category
  • amount: Float
  • currency: OneOf

Category document (extra):

  • id: String
  • title: String

Endpoints:

  • GET /api/v1/spendings (query: ?period=week&category=food&labels=label1,label2,label3,label4)
  • GET /api/v1/spendings/:id
  • POST /api/v1/spendings
  • PATCH /api/v1/spendings/:id
  • DELETE /api/v1/spendings/:id

(extra)

  • GET /api/v1/categories
  • POST /api/v1/categories
  • DELETE /api/v1/categories/id (what if we remove category that used in specific spending?)

Filters:

  • period: week, month, year, all time
  • category: bills, food, shopping, gifts, healthcare, taxi, etc.
  • labels: String

Screens:

  • Home: list of spendings for today, period selector, filters
  • Spending: specific spending info page
  • Add Spending (modal): form with spending fields