Personal Finance Tracker-1
Personal Finance Tracker-1
SOFTWARE ENGINEERING
Registration
Sr.# Name CGPA Email ID Signature
ID- Sec
[email protected]
(i) F2023065017 Ahmad Ameen 3.46
(iii)
2. Introduction
The Personal Finance Tracker website is a responsive web-based application
where users can log in and record their daily financial transactions. Users can
categorize expenses, set a budget limit, and view their spending in real-time. This
project aims to help users improve their financial literacy and achieve their savings
goals.
Assumptions:
1. User logs in/registers: The user interface captures login details or allows new
users to create accounts.
2. Add/Manage Transactions: Once logged in, users can add or manage income
and expense transactions.
3. Data Storage: All user transactions are saved in the database, which is
accessed via the server.
4. Generate Reports: The server retrieves data to generate and display reports
on spending.
5. User Log Out: The user can securely log out, closing their session.
Backend Development: Create the server logic and set up data management.
10. Requirements
2. User Requirements
1. Account Management: Users should be able to register and log in securely.
2. Transaction Tracking: Users should add, edit, and delete income and expense
entries.
3. Budget Monitoring: Users should receive notifications when nearing or
exceeding budget limits.
4. Visual Reports: Users should view spending trends via charts or graphs.
5. Responsive Design: The interface should adjust seamlessly to various device
sizes (desktop, tablet, mobile).
3. Functional Requirements
1. The system must allow users to register and log in using unique credentials.
2. Users should be able to categorize transactions by predefined or custom
labels.
3. The system must store and retrieve user financial data from the database.
4. Spending reports must include graphical representations such as pie charts
and bar graphs.
5. Notifications must be sent in real time when users approach their budget
limit.
6. Allow users to customize categories for income and expenses based on their
needs.
7. Enable users to export financial data as PDF or Excel files for offline use.
9. Allow users to sync transactions from platforms like PayPal, Stripe, or local
payment gateways.
10.Include a search bar and filters to help users find specific transactions
quickly.
4. Non-Functional Requirements
1. Performance: The platform should load pages and data within 3 seconds on
average.
2. Reliability: Ensure 99.9% uptime for the web application.
3. Scalability: The system should support an increasing number of users and
transactions.
4. Security: Use encryption for sensitive user data, such as passwords and
financial details.
5. Usability: Ensure the interface follows standard design principles for clarity
and ease of navigation.
6. Ensure the application runs smoothly on major browsers like Chrome,
Firefox, Safari, and Edge.
7. Optimize the web app for seamless use on mobile devices.
8. Provide an intuitive onboarding process with step-by-step tutorials for new
users.
9. Follow accessibility standards (e.g., WCAG) to make the platform usable for
individuals with disabilities.
10.Ensure API response times are under 1 second for data retrieval and
transactions.
Actor: User
Description: The user registers with a unique email and password or logs in using
existing credentials.
2. Add Transaction
Actor: User
Description: The user adds income or expense entries categorized under predefined
or custom labels.
3. Edit/Delete Transaction
Actor: User
4. Set Budget
Actor: User
5. Generate Reports
Actor: User
Description: The user views monthly or yearly spending trends in visual formats
(charts, graphs).
6. Log Out
Actor: User
7. Class Boundaries
User Interface: Handles user interaction (Login, Add/Edit Transactions, Set Budget,
Log Out).
Overview:
At the highest level, the system interacts with external entities: User and Database.
The system allows the user to input data (transactions, budgets, or report requests)
and returns processed outputs like alerts and reports.
● Entities:
○ User: Inputs data and receives outputs.
○ Database: Stores and retrieves financial data.
Flow:
2. DFD Level 1
Overview:
Flow:
3. DFD Level 2
Overview:
The low-level prototype focuses on the basic wireframes and initial design of the
application, ensuring functionality and flow before adding visual polish. It includes:
High-Level Prototype
The high-level prototype is a polished version with enhanced user interface design
and interactive functionality. It focuses on aesthetics, usability, and responsiveness:
Steps:
● Test the low-level prototype for intuitive navigation and clarity of design.
● Check the high-level prototype for visual consistency, responsiveness, and
accessibility.
● Gather user feedback on ease of use and aesthetic appeal.
Tools: Use tools like Figma, Adobe XD, or InVision for this phase.
2. Functional Screening
Steps:
Purpose: Evaluate the system's performance under load and its adherence to
security protocols.
Steps:
Tools: Tools like JMeter for performance testing and OWASP ZAP for security testing.