Functional Requirements - betoooo08/MyFinPlanner GitHub Wiki

User Management System

  • FR01 Sign Up: When a user registers a new account, the User Management System MUST create a unique user profile that securely stores the user's email and encrypted password.
  • FR02 Log-in: When a user logs in, the User Management System MUST authenticate the user's credentials by verifying the email and encrypted password, granting access upon successful validation.
  • FR03 Password Recovery: AFTER a user forgets their password, the system MUST provide password recovery options through email verification.

Financial Transaction Management

  • FR04 Transaction Details: When a registered user enters a new financial transaction, the system MUST allow users to input income and expenses with details such as amount, category, date, and description.
  • FR05 Edit/Delete Transactions: IN CASE a registered user wants to edit a transaction, the system SHOULD allow users to edit or delete recorded transactions while maintaining a history of modifications.
  • FR06 Categorize Transaction Automation: The Financial Management System COULD automatically categorize transactions based on predefined categories.

Budget Management System

  • FR07 Set Custom Budgets: The Budget Management System MUST allow registered users to set monthly and custom budgets for different expense categories.
  • FR08 Budget Visual Insights: The Budget Management System COULD provide visual insights on budget consumption through charts and reports.
  • FR09 Budget Limit Alerts: The Budget Management System SHALL send notifications when spending approaches or exceeds set limits.

AI-Driven Financial Analysis

  • FR10 AI Spending Patterns: The AI Management System MUST analyze spending patterns using AI to provide personalized financial advice.
  • FR11 Detect Anomalies: The AI Management System MUST detect anomalies in transactions and alert users of unusual spending behaviors.
  • FR12 AI Suggestions: The AI Management System SHOULD suggest optimized budget plans based on user financial history and goals.
  • FR13 Interactive Reports: The system MUST generate interactive reports on income, expenses, and savings trends based on AI analysis.
  • FR14 Graphical Representations: The system COULD provide graphical representations of financial data for better insights.

Investment Management

  • FR15 Investment Management: The system MUST allow users to register investments, including stocks, cryptocurrencies (e.g., BTC, ETH), mutual funds, and other assets.
  • FR16 Real-time Investment Tracking: The system MUST provide real-time tracking of investment values through integrated financial APIs.
  • FR17 Label Investments: The system SHOULD allow users to categorize and label their investments (e.g., short-term, long-term, high-risk, low-risk).

Reporting and Goal Tracking

  • FR18 Export Reports: The system COULD allow users to export reports in formats such as PDF and CSV.
  • FR19 Set Financial Goals: The system MUST allow users to set financial goals (e.g., saving for a house, an emergency fund, or a vacation).
  • FR20 Track Progress Toward Financial Goals: The system SHOULD track progress toward financial goals and provide AI-driven recommendations to achieve them faster.