Skip to content

ZK Expense Tracker is a user-friendly software for personal financial management. Features within Expense Tracker are well integrated. These main functions and features include balance tracking, category labeling, search bar, data visualization and smart shopping list.

Notifications You must be signed in to change notification settings

Zhikeng/ZK_Expense_Tracker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ZK Expense-Tracker

Developer: Zhikeng Kong 2023CS Student in BHCC, MA, US

[The project is the last version of final project in 2024SP CSC-284-WB]

ZK Expense Tracker is a user-friendly software for personal financial management. Features within Expense Tracker are well integrated. These main functions and features include balance tracking, category labeling, search bar, data visualization and smart shopping list. To enhance user experience, ZK Expense Tracker can generate line Charts by the selected expense categories.

This software is a course final project for 2024CSC-284-WB: Advanced C++/OOP. For this reason, ZK Expense Tracker is implemented in C++. The GUI is developed using Qt Creator integrated development environment (IDE) with standard libraries.

Any comments on anything that can be improved on things will be greatly appreciated such as - correct usage of object oriented paradigm - coding style and readability - usability of the program itself


Program Version Overview


There are currently three features in this program:

* User login by credentials provided
* Base Expense Tracker with a GUI built using Qt Widgets through Qt Creator
* Expense report and chart built using QChart, QChartView through Qt Creator

User login


The first feature is the base program that has the following functionallity:

* Provide username and password as two credentials required to register. The following information is stored:
	- username
	- password
* Provide username and password as two credentials matched in the database to login.

ZK Expense Tracker


The second feature is the base program that has the following functionality:

* Record an expense. The program will automatically generate the balance in the table. The following information is stored:
	- date
	- category
    - subcategory
    - amount
* Delete all values in the selected row by the user (both in tablewidget and database).
* Update all values in the selected row by the user (both in tablewidget and database).
* a console UI with adequate user input error checking capabilities

The following is a summary of the files that can be found on the src and inc directories * CMakeLists.txt - makefile to build executable * main.cpp - main function * MainPage.cpp, MainPage.h - contains the class declarations and method implementations * MainWindow.cpp and MainWindow.h - contains all class and methods associated with user login. * RegisterPage.cpp and RegisterPage.h - contains the Register class to be used in user login class. * users.db - db file for storing the database * TablePage.cpp and TablePage.h - contains the class to build the table data, but already abandonned. * main.exe - executable file of the program built.

All other functionalities including the UI were extended to support this larger data structure, such as summarizing the total expense report and the expense line chart.


ZK Expense Tracker with qt GUI


For a much easier use of the program, a GUI built from Qt is currently being developed. The main goal is to build methods and routines that the will properly interface the front end Widget-based GUI to the back end code, which is the original cpp files for the console based expense tracker.


Implementation Details: Base Program


The Base ZK Expense tracker was built using object oriented paradigm of C++.

A console ui class was implemetned for the user interface. This class contains convenient functions in checking the input format of the user.

About

ZK Expense Tracker is a user-friendly software for personal financial management. Features within Expense Tracker are well integrated. These main functions and features include balance tracking, category labeling, search bar, data visualization and smart shopping list.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published