A lightweight, interactive budget tracking app for managing personal and business finances.
Built with Python, Streamlit, Pandas, and SQLite — designed to be fast, simple, and secure.
This project demonstrates internship & job-ready skills in:
- ✅ Python Full-Stack Development – structured, modular design
- ✅ Database Management – SQLite integration, CRUD operations, demo seeding
- ✅ Interactive Dashboards – Streamlit-based UI with charts & filters
- ✅ Security – password-protected admin panel & audit logs
- ✅ Deployment – live demo hosted on Streamlit Cloud
- ✅ Data Visualization – monthly/annual summaries & category breakdowns
⚡ Built to showcase real-world problem-solving in software development, data analysis, and dashboard building.
- 💵 Track income & expenses with automatic calculations
- 🏷️ Categorize spending by type (income, expense, bonus, utilities, etc.)
- 📊 Dashboards:
- Monthly & annual balance
- Spending by category
- 🔒 Secure Admin Panel — password-protected with reset & audit logs
- 📤 Data Export — CSV/Excel downloads
- 🎈 Demo Mode — load sample transactions for quick testing
- 🛡️ Audit & Usage Logs — monitor activity and system events
Requires Python 3.10+
h
git clone https://github.com/dhimsoft/dhimsoft-budget-tracker.git cd dhimsoft-budget-tracker
pip install -r requirements.txt
streamlit run dashboard.py
🤝 Contributing
Contributions are welcome! See CONTRIBUTING.md for guidelines.
👨💻 Author
Dhimy Jean 🎓 Technologist | Computer Science Student @ CUNY BMCC 💻 Software Developer | 🚀 Aspiring AI & Software Engineer
🌐 GitHub Profile
🔗 LinkedIn Profile
📄 License
This project is licensed under the MIT License — free for both personal and commercial use.
🔮 Future Enhancements
🧠 AI-Powered Insights – natural language queries like: “Where did I overspend this month?” “Forecast my savings for next quarter.”
👥 Multi-User Authentication – role-based access for families & teams
☁️ Cloud Database Support – migrate from SQLite → PostgreSQL / Supabase
📱 Mobile-Optimized UI – adaptive layouts for phones & tablets
⚙️ Admin Settings (Overview)
The dashboard includes a secure admin panel (password-protected) for advanced data and system management. Recruiters and demo users can’t access this directly, but here’s what it offers:
🔧 Tools → Insert demo transactions, restore deleted, toggle expenses display
🧨 Danger Zone → Reset database, reseed demo data
📜 Audit Log → View by recent, date range, or summaries (CSV export + print)
🧭 Usage Log → Track system events, last 200 actions
🔒 Security → Password protected (via .streamlit/secrets.toml or environment)
📌 Topics
personal-finance python-streamlit-sqlite pandas-matplotlib-finance-dashboard data-analysis-budget-tracker
📊 Languages
Python 99.6%
Other 0.4%
🧑💻 Recruiter Note
The Admin Settings panel is locked in the live demo for security reasons, but this section demonstrates real-world system design:
Database seeding & resets
Recovery of deleted data
Comprehensive audit & usage tracking
Secure access controls
⚡ This shows my ability to balance usability, auditability, and security in software design.