Building CLI Finance Manager with Python & SQLite

🚀 Built my first CLI-based Personal Finance Manager using Python & SQLite 💻💰 Today was one of those days where things finally clicked. I started with a simple idea: track income and expenses from the terminal. But along the way, I ended up learning some core backend concepts that every developer should understand. 🔧 Here’s what I worked on: • Designed a proper database schema (and fixed it multiple times 😅) • Learned why data modeling matters (type + amount > separate income/expense columns) • Implemented input validation to prevent crashes • Built a clean CLI menu with error handling • Used SQL aggregation (SUM) to calculate balance • Understood the difference between fetchall() and fetchone() • Handled edge cases like NULL values from SQL • Fixed logical bugs in control flow and menu mapping 💡 Biggest takeaway: Writing code is easy. Designing logic and handling edge cases is where real learning happens. There were moments where things didn’t work (wrong queries, wrong data types, tuple confusion 😵), but debugging those issues taught me more than just copying solutions ever could. 📈 Current features: ✔ Add transactions ✔ Calculate balance using SQL 🔄 Next: List transactions + improve UI This is part of my journey through Harvard’s CS50 Python course — and I’m starting to feel the shift from “just coding” to actually building software. #Python #CS50 #SQLite #Programming #LearningInPublic #100DaysOfCode #DeveloperJourney

To view or add a comment, sign in

Explore content categories