Hackathon 2022
Case 1 : e-Commerce Product Management
The purpose of this case is to create backend Java-based platform for Product Management in an
e-Commerce site. Let us call the application as e-Commerce Product Management System
(eCPMS). This system would involve in maintaining the products in e-Commerce site.
About Application and Problem Description
eCPMS is platform to maintain and search for product throughout the e-commerce site. The journey
of maintaining products is mechanized by this application. Transition from manual procedure to
automated system is gracefully implemented through this system. It digitizes, the Product
Management process, facilitates smooth handling of products right from availability to ordering
phase. A typical lifecycle of a contract consists of following phases:
• Login
• Creating product
• Searching for a product.
• Updating the available quantity of product
• Updating the product details
• Removing product
• Whish listing product
• Adding product to cart
• Ordering product
• Logout
. Login Create Search Update
Remove
Logout Order Cart Wish List
Hackathon 2022
Objectives of the Application:
• Create a Java architecture to produce APIs for different phases of operation in product
management.
• Setup MongoDB for storage of User, Product, Cart, Wish-List and Order data.
• Write API to authenticate User Login
• Write API to create new product.
• Write API to update existing product details.
• Write API to search product.
• Write API to delete a product
• Write API to add product to wish list
• Write API to remove product from wish list
• Write API to add product to cart
• Write API to remove product from cart
• Write API to Order product from cart
• Write API to cancel Order
• Write API to logout.
Acceptance Criteria
The final eCPMS application should be a console-based command line interface which should
have the ability to move through different phases of a product management.
Your team should be able to achieve the following task from command line interface:
• Authenticate User login
• Add new Products
• Update existing product
• Remove existing product
• Ability to search product
• Add product to wish list
• Add product to cart
• Ability to Place order
• Ability to Cancel order
• Logout
• All request and response data to be in JSON format