Budget App banner

Budget App

3 devlogs
7h 28m 39s

đź’° Personal finance tracker built with FastAPI and React. Multi-account support, expense categorization, transactions history.

Demo Repository

Loading README...

omurkulovamir2008

Shipped this project!

Hours: 10.26
Cookies: 🍪 86
Multiplier: 8.42 cookies/hr

That was incredibly hard. Like it was my second time creating a backend but I learnt a lot from that. Also creating a frontend was like: 50% me, 25% Claude AI, 25% God’s help :)))

I hope the ship goes well)

omurkulovamir2008

It’s been kinda hard to make a frontend. I used Claude and God’s bless to create it but finally it does;)
I almost finished my project. Only thing left is deployment. See the frontend;)

Attachment
0
omurkulovamir2008

Implemented all main features: auth, accounts, categories, and operations.

  • Set up JWT authentication with argon2 password hashing
  • Created User, Account, Category, and Operation models
  • Implemented CRUD operations for all entities via repositories
  • Added automatic balance updates when creating/updating/deleting operations
  • EXPENSE decreases balance, INCOME increases it
  • Created filtering by account_id, category_id, and date range
  • Added /categories/with-balances and /operations/details endpoints for analytics

Challenges:
Operations were tricky -> had to properly revert old balance changes when updating. Solved with revert -> update -> apply sequence.

Complete API ready for frontend integration.

Attachment
0
omurkulovamir2008

Started working on Budget App - a personal finance management application. Chose FastAPI + PostgreSQL stack, then I’ll write Frontend in React

  • Set up project structure with layers: models, repositories, services, routes
  • Created config file with database settings
  • Configured database.py with engine and sessionmaker
  • Added CORS middleware
  • Created basic health check endpoints

Decided to use Repository pattern for DB isolation and Service layer for business logic. Should make testing easier ;) (i hope)

I just forgot to write devlogs workinh on this project, so don’t pay attention that I wrote first devlog after 4:31 hours of developing :(

Attachment
0