0% found this document useful (0 votes)
47 views8 pages

DEVELOPME-WPS Office

The document outlines a project for developing a Personal Budget Tracker application using Python, aimed at helping users efficiently manage their income and expenses. It details the project's objectives, methodology, system design, and tools used, while also addressing limitations such as the lack of a user login system and mobile compatibility. The application features a user-friendly interface, local data storage, and visual data representation through pie charts.

Uploaded by

muftahusayyadi5
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
47 views8 pages

DEVELOPME-WPS Office

The document outlines a project for developing a Personal Budget Tracker application using Python, aimed at helping users efficiently manage their income and expenses. It details the project's objectives, methodology, system design, and tools used, while also addressing limitations such as the lack of a user login system and mobile compatibility. The application features a user-friendly interface, local data storage, and visual data representation through pie charts.

Uploaded by

muftahusayyadi5
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 8

DEVELOPMENT OF A PERSONAL BUDGET TRACKER

Title Page

Project Title: Development of a Personal Budget Tracker

Course: Programming Project

Submitted by: [Aminu Usman]

Matric Number: [241080130017]

Department: [Computer and Information Technology]

Institution: [Iconic Open University]

Supervisor: [Mrs. fadimatu Muhammad Marafa]

Date:[Start Date Thu,May 15, 2025 End Date Thu, Jul 31, 2025

---

Table of Contents

1. Introduction

2. Problem Statement

3. Aims and Objectives

4. Scope of the Project

5. Methodology

6. System Analysis

7. System Design

8. Tools and Technologies Used

9. Implementation

10. Testing and Evaluation

11. Limitations
12. Conclusion

13. References

14. Appendix (Full Code)

---

1. Introduction

In today's world, many people struggle with tracking how they spend money. A Personal Budget
Tracker is a simple desktop application designed to help users manage their income and
expenses. This project aims to build a program using Python that provides an easy-to-use
interface where users can add entries, view summaries, and make better financial decisions.

---

2. Problem Statement

Many individuals still rely on paper, notebooks, or memory to record their spending. This
manual method leads to:

Errors in calculation

Forgetting expenses

Lack of summary or analysis

Poor financial planning

By developing a digital budget tracker, users can manage their money efficiently with automated
recording and visual charts.

---

3. Aims and Objectives

To develop a desktop application that tracks income and expenses.

To provide a user-friendly interface using Python's Tkinter.

To save user data using a local SQLite database.

To provide summary charts using Matplotlib.


---

4. Scope of the Project

This project covers the development of a simple budget tracking system where:

Users can input their income or expenses.

Each entry has a category and type.

Data is stored locally.

The app shows pie charts for better visualization.

This project is limited to personal use and does not include login/authentication or internet
features.

---

5. Methodology

The Agile software development methodology was followed. The steps include:

Requirement analysis

Design of interface

Code development using Python

Testing

Evaluation and feedback

---

6. System Analysis

The system has three main functions:

1. Input: User enters amount, selects type (income/expense), and category.

2. Storage: Data is saved in a local SQLite database.

3. Output: Data is visualized in the form of a pie chart showing category-wise summary.

---
7. System Design

The application interface includes:

Entry field for amount

Dropdowns for type (income/expense) and category

Buttons:

Add Entry: saves the record

Show Chart: displays a pie chart

Pie chart output using Matplotlib

---

8. Tools and Technologies Used

Tool Purpose

Python Programming Language

TkinterGUI (Graphical User Interface)

SQLite Local data storage

Matplotlib Data visualization (pie chart)

VS Code Code editor

---

9. Implementation

The app was built using Python and its built-in GUI library Tkinter.

Sample Steps in Code:

Create a database budget.db

Design a simple form using Tkinter

On clicking "Add Entry", data is saved to SQLite

On clicking "Show Chart", pie chart is generated using saved data


The code is structured in functions for adding entry, creating tables, and displaying charts.

---

10. Testing and Evaluation

The application was tested with different inputs. Results showed:

Data was saved correctly in the database.

The pie chart displayed accurate category summaries.

User interface was smooth and easy to navigate.

---

11. Limitations

No user login system

No export to Excel or PDF

Limited to desktop use only (no mobile version)

---

12. Conclusion

This project demonstrates how a simple budget tracking application can be useful in managing
personal finances. It is easy to use, stores data efficiently, and gives a visual summary of
spending. With future improvements, features like multi-user access and data export can be
added.

---

13. References

Python Official Docs - https://docs.python.org

Tkinter GUI Docs

SQLite3 Python Module

Matplotlib Library

---
14. Appendix: Full Code

import tkinter as tk

from tkinter import ttk, messagebox

import sqlite3

import matplotlib.pyplot as plt

# Create database

conn = sqlite3.connect('budget.db')

c = conn.cursor()

c.execute('''CREATE TABLE IF NOT EXISTS transactions (

id INTEGER PRIMARY KEY AUTOINCREMENT,

amount REAL,

type TEXT,

category TEXT

)''')

conn.commit()

# Add Entry

def add_entry():

amount = amount_var.get()

ttype = type_var.get()

category = category_var.get()

if not amount or not ttype or not category:

messagebox.showerror("Error", "All fields are required")

return

c.execute("INSERT INTO transactions (amount, type, category) VALUES (?, ?, ?)",


(float(amount), ttype, category))

conn.commit()

messagebox.showinfo("Success", "Entry added successfully")

amount_var.set("")

# Show Pie Chart

def show_chart():

c.execute("SELECT category, SUM(amount) FROM transactions WHERE type='Expense'


GROUP BY category")

data = c.fetchall()

if data:

categories, amounts = zip(*data)

plt.pie(amounts, labels=categories, autopct='%1.1f%%')

plt.title('Expense Breakdown')

plt.show()

else:

messagebox.showinfo("Info", "No expense data to show")

# GUI

root = tk.Tk()

root.title("Personal Budget Tracker")

amount_var = tk.StringVar()

type_var = tk.StringVar()

category_var = tk.StringVar()
ttk.Label(root, text="Amount").grid(row=0, column=0)

ttk.Entry(root, textvariable=amount_var).grid(row=0, column=1)

ttk.Label(root, text="Type").grid(row=1, column=0)

ttk.Combobox(root, textvariable=type_var, values=["Income", "Expense"]).grid(row=1,


column=1)

ttk.Label(root, text="Category").grid(row=2, column=0)

ttk.Combobox(root, textvariable=category_var, values=["Food", "Transport", "Bills",


"Other"]).grid(row=2, column=1)

ttk.Button(root, text="Add Entry", command=add_entry).grid(row=3, column=0)

ttk.Button(root, text="Show Chart", command=show_chart).grid(row=3, column=1)

root.mainloop()

General observation

1. Refer back to the template shared in the group for your documentation. Your work
is disorganized and you are not doing what is expected of you to do.

2. No intext citation and references provided.

3. No UML diagrams provided.

4. Similar systems not reviewed.

5. The implementation and testing part is also missing.

You might also like