Mobile App Project Requirements Report
Project Overview
- Project Name: Personal Finance Management App
- Project team: 702
Lê Quang Hiển
Hồ Châu Sỹ
Nguyễn Minh Hiếu
Nguyễn Châu Thành Trung
Nguyễn Thanh Tú
- Project team leader: Nguyễn Châu Thành Trung
- Date: 18/2/2025
Table of Contents
1. Introduction
1.1 Purpose
1.2 Scope
1.3 Objectives
2. Project Requirements
2.1 Functional Requirements
2.2 Non-Functional Requirements
2.3 Constraints
3. User Requirements
3.1 User Profiles
3.2 User Stories
4. Project Timeline
4.1 Milestones
4.2 Deliverables
5. Approval
1. Introduction
1.1 Purpose
This requirements report aims to define and detail the functional and non-functional requirements
of the personal finance management application on the Android platform. The application will
help users track income, expenses, set budgets, manage debts and savings, while also providing
AI-based analysis and predictions to support more effective financial management.
This report will serve as a key reference document for the development team, ensuring that the
application is built to meet user needs and achieve the stated objectives.
1.2 Scope
This report will include requirements for:
Functionality: Specific features of the application, including income and expense management,
statistical reports, budgeting and savings, AI-powered financial support (spending habit analysis,
expense prediction), and debt and savings management.
Non-functional aspects: Requirements related to performance, security, usability, scalability,
compatibility, and other quality-related aspects of the application.
Users: Different user groups who will use the application, including individual users, family
users, and users with varying income levels.
Platform: The application will be developed for the Android platform.
1.3 Objectives
The objectives of developing this personal finance management application are:
Provide a comprehensive and convenient personal finance management solution: The
application must offer all essential features to help users effectively manage their finances.
Optimize user experience: The application should have a simple, user-friendly, and easy-to-use
interface.
Integrate AI technology to assist users: The application must utilize AI to analyze spending
habits, suggest saving strategies, and predict future expenses.
Ensure data security and safety: The application must protect users' financial information
securely.
Achieve user satisfaction: The application should meet user needs and deliver real value to them.
2. Project Requirements
2.1 Functional Requirements
The personal finance management application must support the following functions:
Income Management:
Users can add, edit, and delete income entries.
Categorize income by type (salary, bonuses, investments, etc.).
View income history by time (daily, weekly, monthly, yearly).
Expense Management:
Users can add, edit, and delete expense entries.
Categorize expenses by type (food, shopping, transportation, etc.).
View expense history by time (daily, weekly, monthly, yearly).
Statistical Reports:
Display visual charts and graphs for income, expenses, and savings.
Provide an overview of financial status over time.
Generate detailed reports for each income and expense category.
Budgeting:
Users can set budgets for different spending categories.
The application provides alerts when users exceed their budget.
Display budget progress tracking.
Savings Management:
Users can set specific savings goals (buying a house, a car, etc.).
Track savings progress over time.
The application suggests effective saving methods.
Debt Management:
Users can add, edit, and delete debt records.
Track repayment schedules and receive due date reminders.
Calculate interest rates (if applicable).
AI Financial Assistance:
Analyze spending habits and provide saving recommendations.
Predict future expenses based on historical data.
Other Features:
Support for multiple currencies.
User-friendly and intuitive interface.
Search and filter functions for financial records.
Multi-language support (optional).
2.2 Non-Functional Requirements
Performance:
The application must run smoothly without lag.
Fast loading time for the app and financial data.
Capable of handling large amounts of financial data.
Usability:
The user interface must be intuitive and easy to use.
The application should be visually clear and understandable.
Compatibility:
Compatible with multiple Android versions.
Stability:
The application should operate reliably without crashing.
Maintainability:
The application should be easy to maintain and update.
2.3 Constraints
Time Constraints
Complete the project within a timeframe of 12 to 13 weeks.
Limited time to develop all planned features.
Work must be distributed efficiently to ensure progress.
Resource Constraints
The team may have a limited number of members, each with different areas of expertise.
Limited experience with AI, which may require additional time for research and implementation.
Need to select technologies that match the team's capabilities (Kotlin, Firebase, basic Machine
Learning, etc.).
Financial Constraints
Using external AI APIs (Google AI, OpenAI, etc.) may incur additional costs.
Cloud storage (Firebase, Supabase) has free usage limits, and exceeding them may require
payment.
Hiring experts or outsourcing services for development is not feasible.
3. User Requirements
3.1 User Profiles
The personal finance management application serves different user groups, including:
Individuals managing their own finances:
o Track daily income and expenses.
o Set budgets and savings goals.
o Receive AI-powered financial management suggestions.
Users with families:
o Manage the family's overall finances.
o Categorize expenses by family members or shared purposes.
o Plan long-term finances (savings, investments).
Users with multiple income sources:
o Manage income from various sources (salary, investments, business).
o Analyze cash flow to optimize personal finances.
o Forecast income and expenses for the future.
3.2 User Stories
User Story 1 – Income Management
As a user, I want to add, edit, and delete my income entries so that I can accurately track my earnings.
User Story 2 – Expense Management
As a user, I want to add, edit, and delete my expense entries so that I can manage my spending
effectively.
User Story 3 – Statistical Reports
As a user, I want to see visual charts and graphs for my income, expenses, and savings so that I can
better understand my financial status.
User Story 4 – Budgeting
As a user, I want to set budgets for different spending categories so that I can control my finances and
avoid overspending.
User Story 5 – Savings Management
As a user, I want to set specific savings goals (buying a house, a car, etc.) so that I can plan my finances
effectively.
User Story 6 – Debt Management
As a user, I want to add, edit, and delete debt records so that I can manage my financial obligations.
User Story 7 – AI Financial Assistance
As a user, I want the application to analyze my spending habits and predict future expenses so that I
can optimize my financial planning.
User Story 8 – Other Features
As a user, I want the application to support multiple currencies, have a user-friendly interface, and
allow searching and filtering financial records so that I can manage my finances more efficiently.
User Story 9 – Multi-Currency Support
As a user, I want the application to support multiple currencies so that I can manage my finances in
different monetary units.
User Story 10 – User-Friendly Interface
As a user, I want the application to have a simple and intuitive interface so that I can easily navigate
and use all its features.
User Story 11 – Search and Filter Records
As a user, I want to search and filter my financial records so that I can quickly find the information I
need.
User Story 12 – Multi-Language Support
As a user, I want the application to support multiple languages so that I can use it in my preferred
language.
4. Project Timeline
4.1 Milestones
Target
Milestone Description
Date
Project Initiation Define project scope and create an overall plan. Week 1
Requirement Complete the requirements document and identify key
Week 2 - 3
Analysis functionalities.
Backend
Develop the database, APIs, and core functionalities. Week 4 - 5
Development
Frontend
Develop the user interface and integrate it with the backend. Week 6 - 7
Development
AI Integration Implement AI-powered financial assistance features. Week 8 - 9
Week 10 -
Testing & Debugging Test the application, fix bugs, and optimize performance.
11
Week 12 -
Final Submission Finalize reports, prepare the demo, and submit the project.
13
4.2 Deliverables
Milestone Deliverables
Project Initiation Project idea description and planning document.
Requirement Analysis Project requirements report, list of functionalities.
Backend Development Database and core API functionalities.
Frontend Development Working user interface, API integration.
AI Integration AI-powered financial analysis features.
Testing & Debugging Test reports, bug list, and fixes.
Final Submission Completed application, final report, and user guide.
5. Approval
This Requirements Report is hereby approved by:
19/2/2025
Nguyễn Châu Thành Trung