Your project will need to be a complete GUI, and adopt the following features: 1.Login Screen: a.User
Question:
Your project will need to be a complete GUI, and adopt the following features:
1.Login Screen:
a.User information should be stored in a database (postgres). When a user signs in, you must determine whether the user is a customer, employee, or manager as this will determine the menu options they have.
2.Account:
a.There should be two "Account" options: Create Customer, and Create Employee. Customer creation will ask for the following information: user name,password, first name, last name, email address, and address. In the case of employee creation, the same information is required, except address. You should additionally ask for the new employee's position (employee, manager, etc)
.i.Managers can add both employees and customers.
ii.Employees can add customers.
iii.Customers can add themselves
3.Shopping Page:
a.Once signed in as a customer, the user will have the option to search for items,select an item, enter a quantity, and add this to their cart. The cart should be saved to your database (postgres), so that the next time the user signs in, their cart is still available.
b.The items your application uses should be saved in a data structure of your choice, not the database. You can use linked lists, etc for this purpose.
4.Check Out:
a.The user should have the option to checkout at any time. Checking out will make a new "order" that is saved to the database (postgres), clear the user's current cart, and then display a message stating "Your order for number items ($price)was completed successfully." (Substituting number for the number of items in their cart and price with the total price of all the items in their cart). The order is then moved to the pending order for approval.
5.Pending Orders: a.Only available to employees and managers,the pending orders page will allow the user to process a completed order. Remember that the pending orders should've been saved to the database (postgres), so the employee can mark these as completed
6.Item Modifications a.Only available to employees, this page will allow the user to search for an existing item, then update it's quantity and price. The user should also be able to add new items to the application (utilizing the data structure used to store the items), as well as delete items.
7.Logout
a.At any time, a user should be able to logout. In the case of a customer logging out, their cart should be saved to the database, so it can be loaded the next time they sign in.