Functional Requirements Specification (FRS) - ashishbhardwaj138/bfa_finance_tracker_with_ai_budget_forecasting GitHub Wiki
The Smart Personal Finance Tracker is a privacy-first application that automatically fetches transaction emails from a user's inbox, parses them intelligently using NLP and pattern matching, stores structured transaction data, categorizes it, visualizes spending patterns, and forecasts future expenses. This document captures all functional capabilities in detail.
The scope of this document is to define all user-visible features and backend capabilities that collectively enable:
-
Secure email integration (Gmail API, IMAP)
-
Transaction extraction from unstructured emails
-
Categorization and tagging
-
Visualization dashboards
-
Forecasting monthly expenses
-
Fully local operation
-
Parsing template editor (YAML)
-
Auto-refresh frequency
-
Category mappings
-
Delete token/logout |
| Acceptance Criteria | -
Template editor updates YAML safely
-
Settings persist between sessions
-
RAM: 4GB minimum
-
Disk: 500MB for container + 100MB per year of transactions
-
OS: Windows / Linux / macOS
-
Python 3.10+
-
Docker Engine (if containerized)
-
Optional: Gmail access
-
React frontend served from
/app/frontend/
-
API endpoints (REST) exposed from Django
/api/
-
Gmail API (OAuth2, Read-only Gmail scope)
-
IMAP (fallback)
-
Only financial emails in English are supported in v1.
-
User must give permission to access their email.
-
All data is processed locally; no cloud support is implemented.