Final Output

Final Report of Personal Expenses Tracker App

Problem Statement

In today’s fast-paced world, managing personal finances remains a challenge for many individuals, particularly due to the lack of simple, user-friendly tools tailored to their needs. Existing expense tracking applications often suffer from a number of limitations, including excessive complexity, overwhelming features, or reliance on paid subscription models, which can discourage consistent usage. This project seeks to address these shortcomings by developing an intuitive and accessible expense tracking application. The app is designed to function offline, ensuring privacy and availability without dependence on cloud services, and aims to simplify personal finance management through a streamlined user experience.

Target Audience

Students, who need a lightweight and budget-friendly tool for daily spending.
Young professionals, seeking convenience and offline access.
Families, who value data privacy and simplicity in financial planning.

The app particularly appeals to users who:
Prefer offline solutions over cloud-based tools,
Value data security, and
Want a clutter-free financial tracking experience.

Core Features

Expenses Tracker App offers a variety of important features:

Expense Categorization: Custom categories like Food, Transport, Utilities for
organized expense tracking.
Expense Analysis: Visual summaries via pie charts and bar graphs to provide
actionable insights into spending habits.
Offline Functionality: No internet needed – all data is stored locally using SQLite.
Monthly Budgeting: Users can set spending limits and receive alerts when nearing
budget thresholds.
Data Security: Protect access using PIN codes or biometric authentication
(fingerprint/face ID).
Search and Filter: Quickly find transactions based on date, amount, or category.

System Design & Architecture

Layered Architecture
The project follows a Layered Architecture Pattern ensuring scalability, clarity, and separation of concerns:
The application is structured using a traditional three-tiered layered architecture, which divides the system into distinct layers to achieve separation of concerns.
Layers:
Presentation Layer (UI Layer):
Built using Flutter widgets
Handles user interface and interaction
Communicates with the business logic through providers, blocs, or view models
Business Logic Layer (Application Layer):
Manages all core functionalities and validations
Transforms raw data into usable information for the UI
Applies business rules (e.g., checking budget limits, sorting/filtering expenses)
Data Layer:
Contains all data access logic
Interacts with SQLite database through DAO (Data Access Object) and repository classes and handles local storage, insertions, updates, deletions, and queries.

System Modeling Using UML

Use Case Diagram


Class Diagram




Activity Diagram


ER Diagram

Technology Stack

Frontend Technologies: Flutter (Dart) – ensuring iOS and Android support with a single codebase.
Database: SQLite – lightweight, reliable, and perfect for offline-first apps.
Version Control: GitHub – enables collaborative open-source development.
Development Tools: Visual Studio Code – efficient and feature-rich IDE.
Flutter DevTools and Android Emulator – for testing, debugging, and performance
profiling.

Implementation

Category Screens

Displays an overview of total spending, categorized into different expense types
using a pie chart and a list with amounts and percentages.



All Expences Screens

Shows a detailed list of all added expenses, including the name, date, and amount of each entry.

Expense Screens

Displays that allows the user to manually add a new expense by entering the title, amount, date, and selecting a category and detailed day-by-day breakdown of expenses for a specific category, visualized through bar charts.

Conclusion

This project presents the design and development of a user-friendly, offline-capable expense tracking application aimed at simplifying personal finance management for students, professionals, and families. By focusing on essential features, such as expense categorization, budgeting, analytics, and data security, the app offers a streamlined alternative to overly complex or subscription-based financial tools.
The use of a layered architecture, along with the repository pattern and a local SQLite databaseensures a modular, maintainable, and performant application structure. With biometric/PIN security and a clean UI built in Flutter, the solution provides both accessibility and privacy, key concerns for its intended users.
The application's modular design and offline-first approach make it highly adaptable and easy to extend. Through this project, the core goal of delivering a lightweight yet powerful personal expense manager was successfully met.

Future Scope

While the current version provides a solid foundation, several features and enhancements can be explored in the future to increase the application's functionality and usability:

Cloud Synchronization
Implement optional integration with cloud platforms (e.g., Firebase, Google Drive) to allow
data backup and sync across devices.
Multi-User and Family Accounts
Enable shared budgets or accounts for family members, with role-based access control.
AI-based Spending Suggestions
Incorporate AI to suggest savings tips, detect spending patterns, or alert on unusual spending behavior.

By incorporating these features, the app can evolve into a comprehensive financial companion,
adaptable to a wide range of user needs while retaining its simplicity and offline capability



Comments

Popular posts from this blog

Software Architecture Patterns

Choosing the Right Database: Firebase vs. SQL vs. Cassandra vs. SQLite vs. MongoDB vs. PostgreSQL