Black Book Sem6 PDF
Black Book Sem6 PDF
on
Finance Management and Expense Tracker
website
Submitted by
Mr. Raj Sunil Javrat
in
COMPUTER SCIENCE
SEM VI
2024-2025
DECLARATION
I, MR. RAJ SUNIL JAVRAT , hereby declare that the project entitled
“Finance Management and Expense Tracker website” submitted in the
partial fulfillment for the award of Bachelor of Science in Computer
Science during the academic year 2024 – 2025 is my original work and the project
has not formed the basis for the award of any degree, associateship, fellowship or any
other similar
titles.
Signature of the
Student:
Place:
Date:
Title
website”
Preface
The motivation behind this project stems from the increasing need for individuals to manage
their finances efficiently in today’s fast-paced world. Many people struggle with tracking
expenses, setting budgets, and planning savings, leading to financial instability. This platform
aims to simplify personal finance management through an intuitive, user-friendly interface with
real-time insights.
Developing this application was a challenging yet rewarding experience. From designing the
database schema to implementing secure authentication and interactive financial dashboards,
each phase enhanced my technical and problem-solving skills.
I hope this tool helps users achieve financial discipline and long-term stability.
Acknowledgement
I would like to express my sincere gratitude and appreciation to all those who have contributed
to the successful completion of this project, "Finance Management and Expense Tracker
website".
First and foremost, I extend my heartfelt thanks to my project guide, Mrs Pradnya Kharade,
for his invaluable guidance, continuous support, and expertise throughout the development
process. His insights, encouragement, and constructive feedback have been instrumental in
shaping this project and ensuring its successful execution.
Additionally, I would like to thank the faculty and staff of the Department of Computer Science
at M.V.L.U for their support and for providing the resources needed to carry out this work.
Furthermore, I am deeply grateful to my peers and friends for their encouragement, feedback,
and assistance. Their collaborative spirit and helpful insights have made this journey more
enjoyable and rewarding.
This project represents the culmination of collective effort and dedication, and I am thankful for
the support and guidance from everyone involved in making this project a success.
Index
1 Introduction 7
2 Stake holders 8
3 Gnatt Chart 9
Built with a user-friendly interface, the system ensures seamless navigation for both users and
administrators. The platform leverages:
Frontend: HTML, CSS, JavaScript (for responsive design).
Backend: PHP (for secure data processing).
Database: MySQL (for structured financial data storage).
Key Features:
🔹 Expense Tracking – Log transactions, attach receipts, and categorize spending.
🔹 Budget Management – Set limits and get real-time notifications.
🔹 Savings Goals – Define targets (e.g., emergency fund, vacation) and track progress.
🔹 Financial Reports – Export data as PDF/Excel for deeper analysis.
🔹 Secure Access – Role-based authentication (user/admin) with encrypted data.
Future Enhancements:
AI-Powered Insights – Predictive budgeting and smart savings recommendations.
Mobile App Integration – Manage finances on the go.
Multi-Currency Support – For global users.
By bridging the gap between financial awareness and actionable insights, this platform aims to simplify
money management, promote savings discipline, and foster long-term financial stability for individuals and
businesses.
2. Stakeholders
Primary User Stakeholders
1. General Users
Individuals seeking to track personal expenses, manage budgets, and achieve savings goals.
Features used: Expense logging, budget alerts, savings trackers.
2. Financial Advisors
Professionals who use the platform to monitor client finances and provide recommendations.
Features used: Reporting tools, shared dashboard access.
3. Small Business Owners
Entrepreneurs tracking business expenditures, cash flow, and tax-deductible expenses.
Features used: Custom categories, receipt scanning, quarterly reports.
4. Students & Young Adults
First-time budgeters learning financial literacy through simplified tracking.
Features used: Basic budgeting, educational tips.
Administrative Stakeholders
1. Platform Administrators
Manage user accounts, troubleshoot issues, and oversee system security.
Responsibilities: Content updates, backup management, access control.
2. Developers & IT Team
Maintain and upgrade platform functionality (frontend/backend).
Key tasks: Bug fixes, feature enhancements, API integrations.
3. Data Analysts
Interpret aggregated spending trends to improve recommendations.
Tools: Dashboard analytics, user behavior reports.
Technical Stakeholders
1. UI/UX Designers
Ensure intuitive navigation and accessibility across devices.
Focus areas: Dashboard layout, mobile responsiveness.
2. Security Specialists
Implement encryption, secure authentication, and GDPR compliance.
Critical systems: Payment gateways, data storage.
3. Database Administrators
Optimize MySQL databases for fast querying and scalability.
Tasks: Data indexing, backup schedules.
3. GANTT CHART
A Gantt chart is an essential project management tool that visually represents a project's timeline and
progress, making it easier to track tasks and deadlines. It includes several key components:
Task List – Displayed vertically on the left, it outlines the project's tasks, which can be grouped into
categories for better organization.
Timeline – Shown horizontally across the top, it marks the project's duration, typically broken into months,
weeks, or days.
Dateline – A vertical marker indicating the current date, helping track progress in real-time.
Task Bars – Horizontal bars represent tasks and their duration. The length of each bar corresponds to the
time allocated for that task, while colors or shading may indicate progress levels.
Dependencies – Lines connecting tasks show relationships between them, indicating that certain tasks
must be completed before others can begin.
Progress Tracking – Various indicators, such as percentage completion or shaded bars, display how far
along each task is in the timeline.
Gantt charts provide a structured way to manage projects by offering a clear visual of scheduled tasks,
dependencies, and overall progress, making them invaluable for efficient planning and execution.
4. Entity Relationship Diagram
Data Base Description Table
TABLE (ATTRIBUT, DATATYPE AND CONSTRAIN)
TABLE (ATTRIBUT, DATATYPE AND CONSTRAIN)
3. Use Case Diagram
🧍
User ( ) – A regular user who manages expenses and budgets.
🧑💼
Admin ( ) – A privileged user who manages system security and users.
User
Attributes: user_id, username, password, email, date_joined
Methods: register(), login(), logout(), updateProfile()
Report
Attributes: report_id, user_id, report_date, report_type, start_date, end_date
Methods: generateReport(), viewReport()
ExpenseReport (Associates Expenses with Reports)
Attributes: expense_report_id, report_id, expense_id
Methods: addExpenseToReport(), removeExpenseFromReport()
System Flowchart
Module Description
1: Home Page
Introduction/Banner: Displays a personalized welcome message with quick financial overview
(current balance, recent activity).
Featured Sections: Highlights key modules - Expense Tracker, Budget Dashboard, and Savings
Progress.
Latest Updates: Shows recent transactions, budget alerts, and financial tips for user engagement.
2: Expense Tracking
Expense Logging:
Add transactions with amount, category (e.g., Food, Utilities), and optional notes.
Supports bulk CSV upload for bank statement integration.
Receipt Management:
Upload/store receipts (JPG/PDF) with OCR for automatic amount extraction.
Spending Analysis:
Auto-categorizes expenses and shows weekly/monthly trends via interactive charts.
3: Budget Management
Budget Setup:
Create custom budgets by category (e.g., ₹5000/month for Dining).
Set flexible durations (weekly/monthly/custom).
Real-Time Monitoring:
Visual progress bars with color-coding (green → orange → red as limits approach).
Push notifications at 80%/100% threshold breaches.
4: Savings Goals
Goal Creation:
Define targets (e.g., "₹50,000 Emergency Fund by Dec 2025").
Track multiple goals simultaneously.
Progress Tracking:
Displays completion percentage and projected achievement date.
Syncs with expense data to suggest savings adjustments.
5: Financial Reports
Custom Reports:
Filter by date range (e.g., "Q1 2025"), category, or payment method.
Visualizations:
Generates pie charts (spending distribution), line graphs (trends), and comparison tables.
Export Options:
Download as PDF (for sharing) or Excel (for further analysis).
6: User Settings
Profile Management:
Update email, password, and notification preferences.
Data Controls:
Export all data (GDPR compliance) or delete account.
Integrations:
Connect bank accounts via secure APIs (future scope).
Key Technical Specs
Backend: PHP processes form submissions → MySQL CRUD operations
Frontend: JavaScript renders dynamic charts (Chart.js)
Security: BCrypt password hashing + JWT authentication
Testing
Testing
1. Functional Testing
A. Authentication Module
Test CaseStepsExpected Outcome
Valid Login
1. Enter registered email/password
2. Click "Login"
Redirect to dashboard with user data loaded
Invalid Login
1. Enter wrong credentials2. Click "Login"
Error: "Invalid email/password. Try again."
Password Reset
1. Click "Forgot password"
2. Enter registered email
Receives reset link via email
B. Expense Tracking Module
Test CaseStepsExpected Outcome
Add Expense
1. Enter amount (₹500), category (Food)
2. Upload receipt (optional)
Transaction appears in "Recent Expenses" list
Bulk Import
1. Upload CSV bank statement
2. Map columns to fields
Auto-categorizes 90%+ transactions correctly
C. Budget Management Module
Test CaseStepsExpected Outcome
Budget Alert
1. Set ₹10,000 dining budget
2. Log ₹8,000 food expenses
Notification: "You've used 80% of dining budget!"
Auto-Adjustment
1. Exceed budget consecutively for 3 months
System suggests +20% budget increase
D. Savings Goals Module
Test CaseStepsExpected Outcome
Goal Progress
1. Set ₹50K emergency fund
2. Deposit ₹10K
Dashboard shows "20% completed" with projected date
2. Usability Testing
Test ScenarioEvaluation Criteria
Navigation Flow
Time taken to complete key tasks (e.g., log expense in <30 sec)
Mobile Responsiveness
All features work on devices ≥320px width
Error Recovery
Users can easily correct mistakes (e.g., undo deleted transactions)
3. Regression Testing
Test Suite (Post-Update Checks):
Authentication:
Existing users can log in
New users can register
Data Integrity:
All historical expenses/budgets remain accessible
Reports generate without errors
Performance:
Runtime & Output
Code
index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Finance Tracker - Dashboard</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<nav>
<div>
<a href="index.html">Finance Tracker</a>
</div>
<div>
<a href="login.html">Login</a>
<a href="register.html">Register</a>
</div>
</nav>
<div class="container">
<h1>Dashboard</h1>
<div class="card">
<h2>Quick Actions</h2>
<a href="expenses.html" class="btn btn-primary">Add Expense</a>
<a href="budget.html" class="btn btn-primary">Set Budget</a>
</div>
<div class="card">
<h2>Recent Expenses</h2>
<div id="expense-list">
<!-- JS will populate this -->
</div>
</div>
</div>
<script src="js/expenses.js"></script>
</body>
</html>
register.php
<?php
require_once 'auth.php';
session_start();
if ($result['success']) {
// Registration successful - log the user in
$login_result = $auth->login($username, $password);
if ($login_result['success']) {
header("Location: dashboard.php");
exit();
} else {
$error = "Registration successful but login failed. Please try logging in.";
}
} else {
$error = $result['message'];
}
}
}
?>
login.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Login - Finance Tracker</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<div class="auth-container">
<div class="auth-card">
<h1>Login</h1>
<form id="login-form">
<div class="form-group">
<label for="email">Email</label>
<input type="email" id="email" required>
</div>
<div class="form-group">
<label for="password">Password</label>
<input type="password" id="password" required>
</div>
<button type="submit" class="btn btn-primary">Login</button>
</form>
<p>Don't have an account? <a href="register.html">Register</a></p>
<div class="social-login">
<button class="btn btn-google">Login with Google</button>
<button class="btn btn-facebook">Login with Facebook</button>
</div>
</div>
</div>
<script src="js/auth.js"></script>
</body>
</html>
expenses.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Expense Tracking</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<nav>
<div>
<a href="index.html">Finance Tracker</a>
</div>
<div>
<a href="index.html">Dashboard</a>
<a href="reports.html">Reports</a>
</div>
</nav>
<div class="container">
<h1>Track Your Expenses</h1>
<div class="card">
<form id="expense-form">
<label>Amount:</label>
<input type="number" step="0.01" required>
<label>Category:</label>
<select required>
<option value="">Select</option>
<option>Food</option>
<option>Transport</option>
<option>Utilities</option>
</select>
<label>Date:</label>
<input type="date" required>
<div class="card">
<h2>Expense History</h2>
<table id="expense-table">
<thead>
<tr>
<th>Date</th>
<th>Category</th>
<th>Amount</th>
</tr>
</thead>
<tbody>
<!-- JS will populate -->
</tbody>
</table>
</div>
</div>
<script src="js/expenses.js"></script>
</body>
</html>
UNDERTAKING
I affirm that this project has not been copied, purchased, or plagiarized from
any other source. All ideas, code, and design elements within this project are
the result of my own efforts and understanding.
Date:
Place:
Signature:
Bibliography
Hardware Resources:
Computers equipped with sufficient processing power, memory, and storage for developing, testing, and
debugging the platform.
Human Resources:
Project Manager: Oversees planning, execution, and closure of the project, ensuring that goals, timelines,
and budgets are met.
Frontend Developers: Skilled in HTML, CSS, and JavaScript to design and develop a responsive, user-
friendly interface for the platform.
Backend Developers: Proficient in PHP for server-side development and MySQL for database
management, using XAMPP for local development.
Software Resources:
Development Tools:
Visual Studio Code: IDE for writing, debugging, and managing the codebase.
XAMPP: A local development environment featuring Apache, MySQL, PHP, and phpMyAdmin for smooth
development.
Frameworks and Libraries:
jQuery: Simplifies JavaScript operations and adds dynamic features.
Database:
MySQL: Relational database for managing user accounts, product listings, orders, and other data,
controlled via phpMyAdmin.
APIs:
Razorpay API: Securely processes online payments, supporting credit/debit cards, UPI, and net banking.
Web Resources:
4. Web Resources
41