The GUI based application allows the User to first Login and then create a bill for various items and quantities, It could be applied for use in Department Stores, Restaurants, Hotel Room Management and other Similar use cases. Further more it is programmed such that the 2 CSS files provided with it allow the end user to easily add or update both the employee list and the Inventory with prices.
The requirements were to have a GUI Application with the following functionality
Individual employee login
Time and Date stamp on Bill
Easily add to Employee and Menu lists with Microsoft Excel
I started by sketching the basic GUI layout on paper. I made a list of the various Textbox, Buttons and Listboxes required. This gave me an idea of the number of widgets I would need and also the rowspan and columnspan of my canvas in Tkinter.
I also made a list of the functionality I would like each button to have and gave them Identifying names.
I started by creating a canvas and adding my required rows and columns, Then I initialized all the widgets I had made a list of in the the design process and set their grid position and size so as to fill the canvas space, this allowed me to visualize the app on screen and I updated a few widgets for a more streamlined coding and user experience
Then I added functions to each widget I had already planned in the design phase, I used a CSV files to store Employee ID and Name and another CSV file to store the Menu inventory. Each time the program runs it updates a multi dimensional list with the contents of the file. This means the user can edit both CSV files with Microsoft Excel and the program will automatically update at runtime.
Then it was a ton of bugfixing and edge case problem solving.
No project can ever be complete there are always features that can be added here's my list
Input for Customer Details
Tax addition
Menu View for Index numbers
Adding SQL support in place of CSV
UI Overhaul