Course Project Report Format 1
Course Project Report Format 1
BACHELOR OF TECHNOLOGY
IN
INFORMATION TECHNOLOGY
Submitted by
M.GEETHIKA 24071A12A1
M.VINOD 24071A12A2
N.SHYAMANTH 24071A12A3
N.SARANYA 24071A12A4
N N.VAMSI KRISHNA 24071A12A5
Downloaded by ITB-27
VALLURUPALLI NAGESWARA RAO VIGNANA JYOTHI
INSTITUTE OF ENGINEERING AND TECHNOLOGY
An Autonomous Institute, NAAC Accredited with ‘A++’ Grade, NBA Accredited for CE, EEE, ME, ECE,
CSE, EIE, IT B. Tech Courses, Approved by AICTE, New Delhi, Affiliated to JNTUH, Recognized as
“College with Potential for Excellence” by UGC, ISO 9001:2015 Certified, QS I GUAGE Diamond Rated
Vignana Jyothi Nagar, Pragathi Nagar, Nizampet(SO), Hyderabad-500090, TS, India
CERTIFICATE
This is to certify that the project report entitled “Course based Project Title” is a
bonafide work done under our supervision and is being submitted by Mr. Ashok
Kumar Reddy(21071A12B6), Mr. Shree Ram Chandra(21071A12B7), Miss.
Pooja Siri(21071A12B8), Miss. Sri Swapnika(21071A12B9), Miss.
Srinibha(21071A12C0) in partial fulfilment for the award of the degree of Bachelor
of Technology in Information Technology, of the VNRVJIET, Hyderabad during the
academic year 2022-2023.
Downloaded by ITB-27
DEPARTMENT OF INFORMATION TECHNOLOGY
DECLARATION
We declare that the course based project work entitled “EXPENSE TRACKER”
submitted in the Department of Information Technology, Vallurupalli Nageswara
Rao Vignana Jyothi Institute of Engineering and Technology, Hyderabad, in partial
fulfilment of the requirement for the award of the degree of Bachelor of Technology
in Information Technology is a bonafide record of our own work carried out under
the supervision of Mrs. Naga Chandrika, Assistant Professor, Department of IT,
VNRVJIET. Also, we declare that the matter embodied in this thesis has not been
submitted by us in full or in any part thereof for the award of any degree/diploma of
any other institution or university previously.
Place: Hyderabad.
Downloaded by ITB-27
ACKNOWLEDGEMENT
We express our deep sense of gratitude to our beloved President, Sri. D. Suresh Babu,
VNR Vignana Jyothi Institute of Engineering & Technology for the valuable
guidance and for permitting us to carry out this project.
With immense pleasure, we record our deep sense of gratitude to our beloved
Principal, Dr. C.D Naidu, for permitting us to carry out this project.
We express our deep sense of gratitude to our beloved Professor Dr. SRINIVASA
RAO DAMMAVALAM, Associate Professor and Head, Department of Information
Technology, VNR Vignana Jyothi Institute of Engineering & Technology,
Hyderabad- 500090 for the valuable guidance and suggestions, keen interest and
through encouragement extended throughout the period of project work.
We take immense pleasure to express our deep sense of gratitude to our beloved
Guide, Mrs. Naga Chandrika, Assistant Professor in Information Technology, VNR
Vignana Jyothi Institute of Engineering & Technology, Hyderabad, for his/her
valuable suggestions and rare insights, for constant source of encouragement and
inspiration throughout my project work.
We express our thanks to all those who contributed for the successful completion of
our project work.
Downloaded by ITB-27
ABSTRACT
recording, categorization, and visualization, enabling users to gain insights into their
ensure a seamless experience across various devices. This project seeks to provide
individuals with a valuable tool for achieving financial control and cultivating
Downloaded by ITB-27
TABLE OF CONTENTS
Downloaded by ITB-27
INTRODUCTION
1.1 PROBLEM DEFINITION
The problem addressed by the Java Expense Tracker project lies in the prevalent
challenge of managing personal finances efficiently and maintaining a clear
understanding of individual spending habits. With the increasingly complex
financial landscape, individuals often find it challenging to keep track of their
expenses, leading to financial disarray, overspending, and inadequate savings.
Traditional methods of expense tracking, such as manual record-keeping, lack the
convenience and accuracy required for effective financial management in today's
fast-paced world. This project aims to provide a comprehensive solution to this
problem by developing a sophisticated Java-based Expense Tracker application.
The core problem entails the absence of a centralized and user-friendly platform
that allows individuals to effortlessly record and categorize their expenses,
analyze spending patterns, and establish viable budgets. The lack of proper data
visualization tools further obstructs users' ability to gain insights into their
financial behavior, hindering their capacity to make informed decisions.
Moreover, security concerns loom large, as financial data is sensitive and must be
protected from unauthorized access.
The inefficiencies in existing expense tracking methods, along with the pressing
need for a reliable and accessible system, drive the motivation for this project. By
creating an advanced Expense Tracker application, the project aims to address
these challenges comprehensively. Through a user-friendly interface, users will be
able to conveniently input their expenses and categorize them, while the
application's data visualization tools will facilitate the understanding of their
spending trends. The integration of budget-setting features empowers users to set
realistic financial goals and encourages prudent financial decision-making.
Enhanced security measures, including robust user authentication and data
encryption, ensure that users' financial information remains confidential and
secure.
Downloaded by ITB-27
1.2OBJECTIVE
Learn the fundamentals of HTML, CSS, JavaScript, and relational database concepts like tables and normalization for
web applications.
Create interactive web pages using HTML forms that store and manage data in a database through SQL queries.
Connect HTML frontend with backend technologies (PHP, Node.js, Python) to perform database operations (CRUD).
Build secure user authentication systems with login, signup, and role-based access control for database-driven apps.
Integrate relational databases (MySQL, PostgreSQL) into web applications and implement secure data handling practices.
Use JavaScript and AJAX to update web pages dynamically with data fetched from the database without page reloads.
Optimize database queries and implement caching to enhance the speed and responsiveness of the web application.
Apply security measures such as encryption and protection against SQL injection and XSS attacks to safeguard the
application.
Build a complete full-stack application by integrating the frontend in HTML with backend processing and database
management.
Deploy and manage a live database application on a web server, ensuring continuous functionality and security.
Apply industry best practices to create scalable, maintainable, and efficient database-driven applications for real-world
use
4
Downloaded by ITB-27
12. Implement Data Validation and Error Handling:
Master techniques for validating user inputs in both frontend (HTML/JavaScript) and backend (SQL), and
handling errors gracefully to prevent data corruption and provide a smooth user experience.
Downloaded by ITB-27
SOURCE CODE
import java.io.*;
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
import java.sql.*;
import java.time.LocalDate;
= "root";
loadUsers();
loadProducts();
Calculator!");
while (true) {
Downloaded by ITB-27
6
Downloaded by ITB-27
System.out.println("\nSelect an option:");
System.out.println("1. Login");
System.out.println("2. Signup");
System.out.println("3. Exit");
switch (choice) {
case 1:
login(scanner);
break;
case 2:
signup(scanner);
break;
case 3:
System.out.println("Exiting...");
saveUsers();
saveProducts();
System.exit(0);
default:
Downloaded by ITB-27
System.out.print("Username: ");
String username =
scanner.nextLine();
System.out.print("Password: ");
System.out.println("Login
successful!"); showMenu(username,
scanner);
} else {
System.out.print("Enter a username:
scanner.nextLine();
if (users.containsKey(username))
} else
{ users.put(username,
password);
Downloaded by ITB-27
products.put(username, new HashMap<>());
saveUsers();
Downloaded by ITB-27
System.out.println("Signup successful! Please log in.");
while (true)
{ System.out.println("\n--- Menu
product");
switch (choice) {
case 1:
addProduct(username, scanner);
break;
case 2:
viewProductList(username);
break;
case 3:
calculateTotalCost(username);
9
Downloaded by ITB-27
break;
case 4:
deleteProduct(username, scanner);
break;
case 5:
changeProductPrice(username, scanner);
break;
case 6:
displayCustomerDetails(username);
break;
case 7:
System.out.println("Logging out...");
saveProducts();
return;
default:
double productPrice =
scanner.nextDouble();
10
Downloaded by ITB-27
Map<String, Double> customerProducts = products.get(username);
customerProducts.put(productName, productPrice);
saveProducts();
if (customerProducts.isEmpty())
} else {
---");
if (customerProducts.isEmpty())
} else {
double totalCost = 0;
totalCost += price;
11
Downloaded by ITB-27
}
if (customerProducts.containsKey(productName)) {
customerProducts.remove(productName);
saveProducts();
} else
if (customerProducts.containsKey(productName)) {
12
Downloaded by ITB-27
customerProducts.put(productName, newPrice);
saveProducts();
} else
username);
// Extracts the name from the username (e.g., "john123" => "John")
return Character.toUpperCase(username.charAt(0)) +
username.substring(1);
DB_USER, DB_PASSWORD);
FROM users")) {
while (rs.next()) {
13
Downloaded by ITB-27
users.put(username, password);
products.put(username, new
HashMap<>());
} catch (SQLException e)
DB_USER, DB_PASSWORD);
stmt.executeUpdate(query);
} catch (SQLException e)
14
Downloaded by ITB-27
private static void loadProducts() {
DB_USER, DB_PASSWORD);
while (rs.next()) {
customerProducts.put(productName, productPrice);
} catch (SQLException e)
DB_USER, DB_PASSWORD);
15
Downloaded by ITB-27
for (Map.Entry<String, Double> productEntry :
customerProducts.entrySet()) {
productPrice;
stmt.executeUpdate(query);
} catch (SQLException e)
16
Downloaded by ITB-27
CHAPTER-3
17
Downloaded by ITB-27
18
Downloaded by ITB-27
19
Downloaded by ITB-27
20
Downloaded by ITB-27
21
Downloaded by ITB-27
CHAPTER-4
CONCLUSION
The Java Expense Tracker project successfully addresses the crucial need for
effective personal finance management. Through the development of a user-friendly
and feature-rich application, users are empowered to maintain better control over their
financial health. By providing tools for expense recording, insightful data
visualization, budget tracking, and secure user authentication, the project equips
individuals with the means to make informed decisions about their spending habits.
The responsive user interface ensures accessibility across devices, while modular
design and thorough testing contribute to the application's stability and scalability.
Ultimately, the Expense Tracker project not only offers a practical solution for users
to track their expenses but also fosters financial awareness and responsible financial
practices.
REFERENCES
https://data-flair.training/blogs/java-expense-tracker/
22
Downloaded by ITB-27