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.