Mad Final Mini Project
Mad Final Mini Project
A MINIPROJECT REPORT
Submitted by
Bachelor of Engineering
IN
COMPUTER SCIENCE & ENGINEERING
Chandigarh University
APRIL 2024
BONAFIDE CERTIFICATE
Certified that this project report “Expense tracker : Calculate Body Mass Index
(BMI) based on user Input for expense and income.” is the bonafide work of
“ Ayush Kumar (21BCS1989) and Prerna Choudhary (21BCS2118) ” who
carried out the project work under my/our supervision.
SIGNATURE
Er. Navjot kumari
We take this occasion to thank God, almighty for blessing us with his
grace and taking our endeavour to a successful culmination. First and
foremost,we would like to express our gratitude to our project supervisor,
Deepika Sood, who was a continual source of inspiration and forproviding us
with the right guidance and advice at the crucial junctures and for showing
me the right way. Many thanks go to the whole lecturer and supervisors
who have given their full effort in guiding the team in achieving the goal as
well as their encouragement to maintain our progressin track. Last but not
the least, I would like to thank my friends and family for the support and
encouragement they have given me during the courseof our work.
Table of Contents
List of Figures.........................................................................................1
Abstract...................................................................................................2
CHAPTER 1. INTRODUCTION......................................................... 3
1.1. Identification of Client/ Need/ Relevant Contemporary issue.... 3
1.2. Identification of Problem............................................................... 3
1.3. Scope..................................................................................................4
1.4. Timeline.............................................................................................5
1.5. Organization of the Report............................................................. 6
REFERENCES....................................................................................24
List of Figures:
1
Abstract
The project aims to develop an expense tracker Android app using Java,
recognizing the growing necessity for individuals to efficiently manage
their personal finances a midst today's fast-paced lifestyle. With the
increasing complexity of expenses and diverse spending patterns,
traditional methods of expense tracking often prove inadequate, leading
to financial stress and disorganization. Through meticulous design and
implementation, the app seeks to offer a comprehensive solution that
simplifies expense tracking, facilitates budget planning, and enables
financial analysis. Leveraging Java's robust features and the accessibility
of the Android platform, the app will feature an intuitive user interface,
ensuring seamless navigation and effortless data input for tracking
expenses across various categories.
2
CHAPTER 1
INTRODUCTION
The necessity to develop an expense tracker Android app stems from the widespread
difficulty in efficiently managing personal finances amidst today's hectic lifestyles. As
expenses rise and spending patterns diversify, individuals frequently find it challenging
to monitor their expenditures accurately, resulting in financial strain and
disorganization. Traditional methods of expense tracking, such as manual recording
with pen and paper or reliance on spreadsheet-based systems, prove cumbersome and
prone to errors. Moreover, the absence of real-time insights and accessibility
exacerbates these challenges further.
Consequently, there exists a significant demand for a user-friendly and intuitive mobile
application that empowers users to monitor their expenses seamlessly while on-the-go.
Utilizing Java for Android app development, organizations have the opportunity to craft
a robust and feature-rich expense tracking solution that caters to this contemporary
need. This initiative aligns with the burgeoning trend of digitalization in personal
finance management, where technological advancements play a crucial role in fostering
financial literacy and overall well-being.
The identification of the problem lies in the inefficiency prevalent in current methods
of expense tracking, leading to disarray and stress regarding personal finances. In
today's dynamic economy, individuals face the daunting task of managing numerous
expenses across various categories, making it challenging to maintain a clear overview
of their financial situation. Traditional approaches like manual recording or spreadsheet
management are prone to human error and lack real-time synchronization capabilities.
Consequently, financial records often end up incomplete or inaccurate, hindering
effective budgeting, understanding spending patterns, and planning for future financial
3
goals. This highlights the urgent need for a modern, automated solution that simplifies
expense tracking, provides actionable insights, and fosters financial discipline.
Leveraging Java for Android app development, organizations can address this
challenge by delivering a user-friendly and feature-rich expense tracking application,
empowering individuals to take control of their finances seamlessly.
1.3. Scope
The development scope for an expense tracker Android app using Java encompasses
several critical dimensions:
1. User Interface Design: Crafting an intuitive and visually appealing UI that enables
seamless navigation and data input for tracking expenses across different categories.
4. Budget Management: Integrating features for budget planning and tracking, enabling
users to set spending limits, receive notifications for exceeding budgets, and visualize
their financial progress over time.
6. Analytics and Reporting: Providing users with interactive charts, graphs, and reports
to visualize spending patterns, identify trends, and make well-informed financial
decisions.
4
7. Security and Privacy: Implementing robust security measures, such as data
encryption, authentication mechanisms, and access controls, to safeguard users'
financial information and ensure privacy.
1.4 Timeline
5
1.5 Organization of the Report
Chapter 1: Introduction
Contextual Background: Introducing the challenges individuals encounter in
effectively managing personal finances amid today's fast-paced lifestyles.
Client Needs and Contemporary Issues: Recognizing the demand for an
intuitive and user-friendly expense tracker Android app to address the
inefficiencies prevalent in traditional expense tracking methods.
Problem Definition: Clearly defining the goal of developing an expense tracker
app using Java for Android devices.
Project Scope and Tasks: Outlining the specific tasks involved in expense
tracker app development and delineating the project's scope to ensure
comprehensive coverage.
Overview of Organizational Structure: Providing a concise preview of
forthcoming chapters and their respective focuses, establishing a framework for
an in-depth exploration of the expense tracker app development process.
6
Chapter 3: Model Implementation and Evaluation
Practical Implementation: Discussing the development process of the expense
tracker app using Java for Android, including code implementation, feature
integration, and testing procedures.
Results Analysis: Presenting user feedback, performance metrics, and
evaluation results of the implemented app, encompassing user satisfaction, app
responsiveness, and reliability.
Validation: Validating the effectiveness of the expense tracker app through real-
world usage scenarios and user testing sessions.
Chapter 4: Conclusion and Future Directions
Findings and Conclusions: Summarizing key findings and insights derived from
the expense tracker app development and implementation, including its
usability and efficacy in meeting user needs.
Future Work: Proposing potential areas for further app enhancement and
development, such as integrating advanced features, broadening platform
compatibility, and incorporating cloud-based synchronization capabilities.
Overall, the report furnishes a structured overview of the expense tracker app
development process using Java for Android devices, commencing from problem
identification through practical implementation, and concluding with reflections on
future directions for app enhancement and development in the realm of personal finance
management.
7
CHAPTER 2
DESIGN FLOW/PROCESS
Data Privacy and Security: Evaluate measures to ensure the privacy and security
of users' financial information, including data encryption, authentication
mechanisms, and compliance with data protection regulations (e.g., GDPR).
Given the sensitivity of financial data, scrutinize the trustworthiness of third-
party services or APIs utilized in the app.
8
Integration and Compatibility: Consider the ease of integrating the app with
other platforms or services, such as cloud storage providers, banking APIs, or
expense management tools. Ensure compatibility with various Android
versions, device specifications, and screen resolutions to maximize accessibility
and usability.
By meticulously evaluating and selecting specifications and features for the expense
tracker Android app, developers can create a user-centric and functional solution that
meets the diverse needs of users while upholding reliability, security, and performance.
2. Data Availability and Quality: Reliable and relevant data availability is crucial for
expense tracking. Constraints may arise from limited access to financial data sources
or issues like data inaccuracies, inconsistencies, or missing information. Additionally,
privacy regulations such as GDPR impose constraints on data collection, storage, and
usage, requiring adherence to strict data handling protocols.
9
3. User Interface Constraints: Design constraints related to device screen sizes,
resolutions, and input methods must be addressed to ensure a responsive and adaptable
user interface. The app should provide a consistent and user-friendly experience across
various devices and screen orientations.
6. Regulatory Compliance: Compliance with data protection regulations like GDPR and
industry standards such as PCI-DSS is essential. The app must adhere to privacy
regulations, obtain user consent for data collection, and implement measures to
safeguard sensitive financial information in accordance with regulatory requirements.
By addressing these constraints effectively, the expense tracker Android app can be
developed to meet user needs while ensuring data security, regulatory compliance, and
optimal performance.
In analyzing features and finalizing them for the development of an expense tracker
Android app using Java, several considerations must be made while adhering to
constraints:
Relevance and Information Gain: It's crucial to assess the relevance of features
in effectively tracking expenses and managing finances. Features such as
expense categories, transaction amounts, dates, recurring payments, and
payment methods should be evaluated. Prioritize features that offer meaningful
insights into users' spending behaviors and financial habits.
10
Integration with External Services: Features enabling integration with external
services or APIs, such as bank account syncing or receipt scanning, should be
assessed. Ensure compatibility with APIs, data format requirements, and
security protocols to facilitate seamless integration and data exchange. Prioritize
features that enhance the app's functionality without compromising security or
user privacy.
By considering these factors and aligning feature selection with constraints, the expense
tracker Android app can be developed to meet user needs effectively while ensuring
adherence to resource limitations, usability standards, and regulatory requirements.
The design flow for developing an expense tracker Android app using Java involves
several essential steps to ensure the creation of a robust and user-friendly solution:
User Interface Design: Design the user interface (UI) for the expense tracker
app based on gathered requirements and user preferences. Create wireframes
and prototypes to visualize UI components such as expense entry forms,
transaction lists, budget overview screens, and data visualization charts. Ensure
the UI is intuitive, visually appealing, and responsive across different screen
sizes and orientations.
11
Expense Tracking Features Implementation: Implement features for expense
tracking, including expense categorization, transaction logging, receipt
scanning, and real-time expense updates. Develop functionalities for setting
spending limits, receiving budget notifications, and visualizing budget progress.
Ensure accurate calculation and storage of expense data while optimizing
resource usage on mobile devices.
Integration with External Services: Integrate the expense tracker app with
external services or APIs for additional functionalities. Connect with banking
APIs for transaction data retrieval, cloud storage services for data
synchronization, or expense management tools for categorization and analysis.
Ensure seamless integration and compatibility with external services'
requirements and security protocols.
Testing and Quality Assurance: Conduct thorough testing of the expense tracker
app to identify and resolve bugs, errors, and usability issues. Perform functional
testing, integration testing, and user acceptance testing to ensure the app meets
requirements and delivers a seamless user experience. Utilize testing
frameworks and tools to automate testing processes and streamline quality
assurance efforts.
Deployment and Distribution: Deploy the expense tracker app to the Google
Play Store or other distribution platforms for Android apps. Prepare
promotional materials, app descriptions, and screenshots to attract users.
Monitor app performance, gather user feedback, and iterate on app updates to
continuously improve functionality and user satisfaction.
By following this design flow, developers can create an expense tracker Android app
using Java that meets user needs, complies with regulatory requirements, and delivers
a seamless and intuitive user experience.
Feature selection for an expense tracker Android app using Java is crucial for ensuring
efficient expense tracking and management. Here's how feature selection can be
approached for this task:
1. Expense Category:
Categorizing expenses into different categories such as groceries, utilities,
transportation, entertainment, etc.
12
Each expense category can be considered as a feature, allowing users to track
their spending across various categories.
2. Transaction Amount:
Including the transaction amount as a feature to capture the monetary value of
each expense.
Analyzing spending patterns based on the amount spent on different transactions
and categories.
4. Payment Method:
Incorporating the payment method used for each transaction, such as cash, credit
card, debit card, or digital wallet.
Providing insights into preferred payment methods and tracking expenses
associated with each payment method.
5. Expense Description:
Including a brief description or notes for each expense to provide additional
context.
Allowing users to add custom tags or labels to expenses for better organization
and filtering.
6. Recurring Expenses:
Identifying recurring expenses and flagging them as a feature to highlight regular
spending commitments.
Offering options for setting reminders or notifications for upcoming recurring
expenses.
7. Location:
Optionally, including location data for each transaction to track where expenses
occur.
Providing insights into spending habits based on geographic location and
facilitating expense tracking during travel.
9. Budget Allocation:
Incorporating budget allocation features for each expense category, allowing
users to set spending limits or budgets.
Providing alerts or notifications when approaching or exceeding budget limits for
specific categories.
13
11. Data Synchronization:
Implementing features for data synchronization across multiple devices or
platforms.
Ensuring seamless access to expense data from different devices and enabling
real-time updates and synchronization.
By selecting and incorporating these features into the expense tracker Android app, users
can effectively track their expenses, manage their finances, and make informed financial
decisions.
4. Backend Development:
Develop the backend functionality of the app to manage expense data securely.
Implement features such as data storage, retrieval, and synchronization with
external services or APIs using Java backend frameworks.
14
7. Security and Privacy Measures:
Implement security measures to protect users' financial data and ensure privacy
compliance.
Utilize encryption techniques, secure authentication mechanisms, and data
protection regulations such as GDPR.
15
CHAPTER 3
3.1. Algorithm
1. Imports:
Import necessary Java libraries and frameworks for Android app development,
including Android SDK, Java IO, SQLite for database management, and any
additional libraries for UI design or data manipulation.
2. UI Design:
Design the user interface (UI) for the app using Android Studio or a similar IDE.
Create XML layout files for UI components such as expense entry forms,
transaction lists, budget overview screens, and settings panels.
Customize UI elements for consistency, usability, and visual appeal across
different screen sizes and orientations.
3. Data Management:
Implement a SQLite database to store expense data locally on the device.Define
database schemas for tables such as expenses, categories, and settings.
Implement CRUD (Create, Read, Update, Delete) operations for managing
expense data within the app.
5. Budget Management:
Incorporate features for setting and managing budgets for different expense
categories.
Provide options for users to set budget limits, track spending against budgets,
and receive notifications for exceeding budget limits.
Implement visualizations such as charts or graphs to display budget summaries
and spending trends over time.
6. Data Synchronization:
Implement data synchronization features to enable users to backup, restore, or
synchronize expense data across multiple devices or platforms.
Utilize cloud storage services or APIs for seamless data synchronization and
access from anywhere.
16
7. Security and Privacy Measures:
Ensure secure handling of user data by implementing encryption techniques,
secure authentication mechanisms, and adherence to privacy regulations.
Protect sensitive financial information from unauthorized access, data breaches,
and malware attacks.
17
Fig 4 – Java code of the application
• Now you can manage your expenses and incomes using our Expense Tracker app
21
CHAPTER – 4
4.1. Conclusion
In conclusion, the development of the Expense Tracker Android App using Java marks
a pivotal advancement in facilitating efficient financial management for users. Through
the utilization of Java for Android application development, this app provides a
comprehensive solution for expense tracking, budget setting, and gaining insights into
spending behaviors. The app's intuitive user interface design and robust backend
functionality empower users to effortlessly input and manage their expenses, thereby
enabling them to make well-informed financial decisions.
By employing SQLite for local database management, the app ensures reliable storage
and retrieval of expense data directly on the user's device, enhancing data security and
privacy. Additionally, features such as budget management allow users to establish
spending limits, receive alerts for exceeding budgets, and visualize their budget
progress over time, fostering financial discipline and accountability.
Although the app effectively addresses the primary objective of expense tracking, there
remain opportunities for further enhancement. Implementing data synchronization
capabilities to enable seamless access to expense data across multiple devices or
platforms would enhance user convenience and accessibility. Moreover, integrating
advanced security measures, such as encryption techniques and secure authentication
mechanisms, would bolster user confidence in the app's handling of sensitive financial
information.
In summary, the Expense Tracker Android App serves as a valuable asset for
individuals seeking to manage their finances efficiently while on-the-go. With ongoing
refinement and improvements, including data synchronization and enhanced security
features, the app has the potential to significantly enhance users' financial well-being
and promote responsible spending habits.
Looking forward, there are numerous opportunities for future enhancements and
refinements for the Expense Tracker Android App using Java. These potential
improvements span various aspects of the application, including functionality, user
experience, scalability, and security.
22
accuracy of expense categorization. Experimenting with different feature engineering
strategies and data preprocessing techniques might further improve the model's
capability to accurately categorize expenses based on various attributes like amount,
date, category, and payment method.
Moreover, enhancing the user interface with more intuitive features and interactive
visualizations could significantly elevate user engagement and satisfaction. Features
like customizable spending goals, budget tracking over time, and personalized spending
insights tailored to individual user preferences could substantially enhance the app's
usability and appeal.
Additionally, optimizing the app's performance and scalability to handle larger datasets
and accommodate increased user demand is vital. This may involve implementing
efficient data storage mechanisms, optimizing database queries, and adopting caching
strategies to ensure fast and responsive performance even under heavy usage.
Security remains a top priority to safeguard user data and maintain the integrity of the
app. Implementing robust authentication and authorization mechanisms, encrypting
sensitive user data, and adhering to best practices for secure communication protocols
can help mitigate potential security threats and ensure user privacy.
Furthermore, collaboration with financial experts and users for feedback and iteration
can provide valuable insights for refining the app's functionality and improving its
effectiveness in helping users manage their finances more efficiently. Continuous
monitoring of user feedback and evolving financial trends can inform future updates
and enhancements to ensure the app remains relevant and valuable to its users.
Overall, by focusing on these areas for future work and improvement, the Expense
Tracker Android App can evolve into a more comprehensive and user-friendly solution
for effectively managing personal finances on-the-go.
23
REFERENCES: -
[1] https://developer.android.com/studio/releases#android_gradle_plugin_and_android
_studio_compatibility
[2] https://stackoverflow.com/questions/67782975/how-to-fix-the-module-java-base-
does-not-opens-java-io-to-unnamed-module
[3] https://issuetracker.google.com/issues/186806275?pli=1
[4] https://youtu.be/qKlN0Uraino?si=mbO6KGnPMbMAprYM
[5] https://docs.gradle.org/current/userguide/compatibility.html
[6] https://ijarsct.co.in/Paper391.pdf
[7] https://stackoverflow.com/questions/73809328/what-does-build-number-mean-
for-the-app-store
24