Question: help solve the below explain every step: Remote invocation: Online Shopping System using gRPC Your task is to design and implement an online shopping system

help solve the below explain every step: Remote invocation: Online Shopping System using gRPC
Your task is to design and implement an online shopping system using gRPC that allows two types
of usersa customer and an adminto interact with the system. The system should provide
essential functionalities for managing products, adding them to a cart, placing an order, and
processing it. The customer should be able to view available products, search for a product, add it
to their cart, and place an order. On the other hand, an admin should be able to add a new product,
update a product's details, remove a product, and list all orders.
In short, we have the following operations:
add_product: The admin creates a new product. The product should have the following
fields: name, description, price, stock quantity, SKU (Stock Keeping Unit), and status
(available or out of stock). This operation should return the unique code for the added
product.
create_users: Multiple users (customers or admins) each with a specific profile are created
and streamed to the server. The response is returned once the operation completes.
update_product: The admin alters the details of a given product.
remove_product: The admin removes a product from the inventory. The function should
return the updated list of products after the removal.
list_available_products: The customer gets a list of all the available products.
search_product: The customer searches for a product based on its SKU. If the product is
available, the function should return the product's details; otherwise, notify the customer
that the product is not available.
add_to_cart: The customer adds a product to their cart by providing their user ID and the
product's SKU.
place_order: The customer places an order for all products in their cart.
Your task is to define a protocol buffer contract with the remote functions and implement both the
client and the server in the Ballerina Language.
Server Implementation:
Implement the server logic using the Ballerina Language and gRPC. Your server should handle
incoming requests from clients and perform appropriate actions based on the requested operation.
Client Implementation:
The clients should be able to use the generated gRPC client code to connect to the server and
perform operations as implemented in the service. Clients should be able to handle user input and
display relevant information to the user.
Please be aware that you have the freedom to include additional fields in your records if you
believe they would enhance the performance and overall quality of your system.
Deliverables:
We will follow the criteria below to assess this problem:
Definition of the remote interface in Protocol Buffer. (15 marks)
Implementation of the gRPC client in the Ballerina language. (10 marks)
Implementation of the gRPC server and server-side logic in response to the remote
invocations in the Ballerina Language. [25 marks]

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Programming Questions!