Reference no: EM133187041
CST1510 Programming for Data Communication and Networks - Middlesex University
Task Description
Design and implement a simple ‘Shopping system'like a shopping system you may see/experienceonline.
You should build a Client/ Server-side software system in Python to interact with the user on the client-side; add, remove, deleteall and finish and pay as well as update the stock on the server-side.
The client-sitepart of the program should have an intuitive user interface to start a client request, view available items and prices, create orders (add, remove item), manage orders and payment, close the request, and view the client receipt. The software should interact with the current stockpile of a product and update the stock based on the orders done by the client. The server program should interact with one client or multiple clients for the advanced version of the software.
Scenario
'Shopping system' allows the customer to view all the items available. The users of the system can view the current stock, add items into a basket, remove items, delete all items from the basket, finish and pay and finally make a payment.
Scope
The 'Current stock' option should allow viewing of all the available stock. The stock should be stored in databases (text, CSV or MySQL) on the server-side and can be retrieved by the client. Each item should have its name, price, colour, and number of items available.
The 'Order' functionalities should be available in the 'current products stock' option.
When a customer wants to make an order, there is an option of;
• adding an item to a basket,
• adding more items to a basket and/or finish and pay
• cancel/delete the item in the basket
• finish and pay
The receipt should be displayed on the client side of the application for the customer to see it.
The order should be sent to a server-side where; stock, orders and shopkeeper data storage should be updated accordingly.
Software Description
Start by designing your shop system using a UML diagram. The UML diagram does not have to be using precise UML notations; it should have some graphical representation of the whole system to illustrate your thinking process.
Data storage:
You could have a simple .txt file or .csv file or full implementation of MySQL data containing the following:
Products/Items. The file should contain the product id number, name, colour, and price (more attributes if you wish).
Customer: customer name, order number (id).
Each ordershould contain all data from the receipt. For example, order id, item names, item price, tax, customer credentials and if the payment was cash or card.
Server
Design and implement a (command line) server program that connects to the previously implemented database (in text or CSV or MySQL). The Server should have methods to send the data to the client, received data from the client, and any other methods updating the (txt, csv, or DB) accordingly.
Client
Design and implement Python file to be used as the client. The client should contain the Shopping system user Interface (UI), in GUI or text-based.
This GUI or text-based program should allow the user to implement all functionalities described above in the scope and consequently communicate with the server.
Attachment:- Programming for Data Communication.rar