
Button Generation
Instead of hard coding butons I generate buttons then bind data to them such as position and candy details.
new button functionThis is my largest project yet including a sqlite database for storing information, a Point of Service system for buying candy, and manager view to edit items within the database. Such items include candy, categories, discounts, point redeems, and user information. A profile system where the user can access their own personal information to edit, and use points earned by spending cash to get borders for their profiles or generate pre-set discounts.
Github repository for users with access to it Loki's Candy Manager Repo
This view is used to facilitate the handling of user logins.
Register user allows for a user to be generated defaulted as a customer.
Forgot passkey allows for a user to reset their passkey if they remeer their security questions.
This view is used to facilitate the handling of purcheses.
History tab contains every previous purchace of a user.
Favorites tab contains pre-set cart details for repeated purchases.
Turns a Dictionary of orders and order details into a Dictionary of orders with data of sales per order.
This view is used to facilitate the handling of the database.
Reports tab contains methods to generate inventory or sales reports.
Person tab contains user information and allows manager the ability to act as a customer within the customer view.
This view is used to facilitate the handling of user information and statistics.
Customize allows for user to get a border for their profile picture.
Personal Information allows the user to change thier info in the database, and bind a valid credit card to their account with a pin.
These 2 methods I worked on in this project hold some significance since they allowed me to be more flexible.
Instead of hard coding butons I generate buttons then bind data to them such as position and candy details.
new button functionI wanted my dedicated sql thread worker to have a simple way to add a task to the thread and invoke the main thread when ui updates are required. This allowed for easier use of threading since a less complex function name made it easeir to read
threading work loop