Coding Challenge 6 - Order Management System
Coding Challenge 6 - Order Management System
Instructions
• Project submissions should be done through the partcipants’ Github repository, and the link
should be shared with trainers and Hexavarsity.
• Each section builds upon the previous one, and by the end, you will have a comprehensive Order
Management System implemented with a strong focus on SQL, control flow statements, loops,
arrays, collections, exception handling, database interaction.
• Follow object-oriented principles throughout the project. Use classes and objects to model real-
world entities, encapsulate data and behavior, and ensure code reusability.
• Throw user defined exceptions from corresponding methods and handled.
• The following Directory structure is to be followed in the application.
• entity/model
• Create entity classes in this package. All entity class should not have any
business logic.
• dao
• Create Service Provider interface to showcase functionalities.
• Create the implementation class for the above interface with db interaction.
• exception
• Create user defined exceptions in this package and handle exceptions whenever
needed.
• util
• Create a DBPropertyUtil class with a static function which takes property file
name as parameter and returns connection string.
• Create a DBConnUtil class which holds static method which takes connection
string as parameter file and returns connection object(Use method defined in
DBPropertyUtil class to get the connection String).
• main
• Create a class MainModule and demonstrate the functionalities in a menu driven
application.
Problem Statement:
Create SQL Schema from the product and user class, use the class attributes for table column names.
1. Create a base class called Product with the following attributes:
• productId (int)
• productName (String)
• description (String)
• price (double)
• quantityInStock (int)
• type (String) [Electronics/Clothing]
2. Implement constructors, getters, and setters for the Product class.
3. Create a subclass Electronics that inherits from Product. Add attributes specific to electronics
products, such as: