How imtiyaz-dev432/smart-expense-tracker works
Smart Expense Tracker is a Flask-backed personal-finance app with a browser frontend. Users register and verify their account, then manage income, expenses, categories, loans and repayments, borrow/lend records, and subscriptions; dashboard reports and rule-based suggestions summarize that data. The frontend sends API requests to the Flask app, whose route handlers query or update SQLAlchemy-backed records. The sampled source confirms app registration, authentication, dashboard and AI data access, and Brevo email delivery; other domain links follow the README’s documented API capabilities.
Main entry points: app.py Flask API · dashboard.py Dashboard reports · ai.py Rule-based suggestions · auth.py Authentication
Components 27
Browser client
- Finance UI
frontend/js/script.js
Identity and verification
- Authentication
routes/auth.py - OTP verification
routes/otp.py - Password recovery
routes/forgot.py - OTP utilities
utils/hashed.py - OTP email
utils/otp.py
Finance records
- Income management
routes/income.py - Expense management
routes/expense.py - Categories
routes/category.py - Default categories
utils/category_default.py - Loans and repayment
routes/loan.py - Borrow and lend
routes/borrow.py - Subscriptions
routes/subscription.py
Financial insights
- Dashboard reports
routes/dashboard.py - Rule-based suggestions
routes/ai.py
Persistence
- SQLAlchemy database
dbms/db.py - User records
models/user.py - Income records
models/income.py - Expense records
models/expense.py - Category records
models/category.py - Loan records
models/loan.py - Borrow records
models/borrow.py - Subscription records
models/subscribe.py
Other components
- User
- Flask API
app.py - Brevo email API
- PostgreSQL
Connections 38
- User → Finance UI: uses
- Finance UI → Flask API: sends API requests
- Flask API → Authentication: registers routes
- Flask API → OTP verification: registers routes
- Flask API → Password recovery: registers routes
- Flask API → Income management: registers routes
- Flask API → Expense management: registers routes
- Flask API → Categories: registers routes
- Flask API → Loans and repayment: registers routes
- Flask API → Borrow and lend: registers routes
- Flask API → Subscriptions: registers routes
- Flask API → Dashboard reports: registers routes
- Flask API → Rule-based suggestions: registers routes
- Flask API → SQLAlchemy database: initializes
- Authentication → User records: queries and writes
- Authentication → OTP utilities: generates and hashes
- Authentication → OTP email: sends verification OTP
- OTP verification → Default categories: creates defaults
- OTP verification → User records: verifies account
- Password recovery → User records: updates credentials
- OTP email → Brevo email API: sends email
- Income management → Income records: manages records
- Expense management → Expense records: manages records
- Categories → Category records: manages records
- Default categories → Category records: creates records
- Loans and repayment → Loan records: manages repayments
- Borrow and lend → Borrow records: manages records
- Subscriptions → Subscription records: manages records
- Dashboard reports → Income records: queries totals
- Dashboard reports → Expense records: queries totals
- Dashboard reports → Loan records: queries loan status
- Dashboard reports → Borrow records: queries balances
- Dashboard reports → Subscription records: queries billing
- Rule-based suggestions → Income records: queries monthly totals
- Rule-based suggestions → Expense records: queries spending
- Rule-based suggestions → Loan records: checks EMI status
- Rule-based suggestions → Borrow records: checks pending amounts
- SQLAlchemy database → PostgreSQL: persists data