How jagadeesh-boyalla-03/personal-finance-and-expense-management-system works
Personal Finance Management System supports account-secured income, expense, and budget tracking through a Streamlit dashboard, console app, or desktop GUI. The main workflow is user entry and editing, per-user CSV persistence, financial summaries and visual analytics, then report/export or optional email and WhatsApp delivery. Authentication includes OTP verification; a separate monthly worker reads user records and dispatches scheduled WhatsApp reports. The graph follows README capabilities and sampled entry points; some dashboard features are documented but their internal implementation was not sampled, so their wiring is shown only at the app boundary.
Main entry points: streamlit_app.py Streamlit app · auth.py Authentication · whatsapp_service.py WhatsApp dispatch · finance.py Finance engine
Components 17
User interfaces
- Streamlit app
streamlit_app.py - Console app
main.py - Desktop app
gui/gui_app.py
Finance and reporting
- Finance engine
finance.py - User finance CSVs
data - Analytics dashboard
streamlit_app.py - Data editors
streamlit_app.py - Reports and export
streamlit_app.py - Console reports
report.py
Accounts and verification
- Authentication
auth.py
Report delivery
- Monthly scheduler
monthly_scheduler.py - WhatsApp dispatch
whatsapp_service.py - Email delivery
email_service.py
Other components
- User
- WhatsApp Web
- Meta Cloud API
- SMTP server
Connections 25
- User → Streamlit app: uses
- User → Console app: uses
- User → Desktop app: uses
- Streamlit app → Authentication: authenticates
- Streamlit app → Finance engine: manages records
- Streamlit app → Analytics dashboard: renders analytics
- Streamlit app → Data editors: edits records
- Streamlit app → Reports and export: generates reports
- Streamlit app → WhatsApp dispatch: dispatches reports
- Streamlit app → Email delivery: sends reports
- Console app → Authentication: authenticates
- Console app → Finance engine: manages records
- Console app → Console reports: requests reports
- Console reports → Finance engine: reads totals
- Desktop app → Authentication: authenticates
- Desktop app → Finance engine: manages records
- Finance engine → User finance CSVs: reads and writes
- Authentication → Email delivery: sends OTP
- Authentication → WhatsApp dispatch: sends OTP
- Monthly scheduler → Authentication: loads users
- Monthly scheduler → User finance CSVs: reads records
- Monthly scheduler → WhatsApp dispatch: dispatches monthly
- WhatsApp dispatch → WhatsApp Web: opens sharing link
- WhatsApp dispatch → Meta Cloud API: sends messages
- Email delivery → SMTP server: sends mail