PBL Advanced
PBL Advanced
Customer should be able to enter the following details and register by themself.
- Customer name : A string with minimum 3 or maximum 50 character.
- Email : A string which contains '@'
- Mobile number : A 10 digit number
- Password : A string which contains small letter, capital letter and atleast one alphabet.
- Confirm password : A string which matches the password.
- Address : A string with maximum 300 characters.
* Design the attribute with proper data type and primary key.
* Once all fields are taken as input, Customer details needs to be added.
* Need to check if the Email is unique for the Customer. If the email is already registered then throw a custom exception
'EmailAlreadyExist' and throw the error message, 'Customer with the mentioned Email already registered'.
* After successful registration, a registration acknowledgment message needs to be displayed on the console as
"Customer Registration is successful".
*Once the registration is successful customer should be able to view the message "registration successfull" along with
the customer id (7 digit random number), email and mobile number. and they need to be redirected to main menu.
*Add the products in an arraylist and keep asking if the customer wants to add more products in the same category or
not.
*If not in the same category, then they should be able to view and add products from a different category.
*Once the selection is done, they should go to the payment page.
-Admin should be able to add products after giving product id,product name,product description,product category and
product price .
-Once these details are entered in the console,the product is added to the arraylist and an acknowledgement
message is printed saying"Product added successfully"
-Admin should be able to view all products along with its product id.
-Admin needs to provide the product id of the product which they want to delete.
-Once product id is entered in the console,the product is deleted from the
arraylist and an acknowledgement message is printed saying"Product deleted successfully"
* Once the customer has selected the products, they should be able to view the payable amount and they should be
able to enter the card details to proceed with payment:
-Card No: A 16 digit number
-Card Holder Name: A textbox with min 10 characters
-Expiry Date <MM/YY>
-CVV: A 3 digit number
* If the expiry date entered is a past date from the current date, then it should throw a custom exception
ExpiryDateNotValid and should prompt the customer to enter the correct Expiry Date.
* Once the payment is successful, they should be able to view the message as 'Payment successful' along with the order
Id(12 digit randomly generated number) and amount paid.
* As a user,I should be able to view all the order details using either order Id or customer Id.Implement polymorphism
concepts to view all the order details .
* As an Administrator, I should be able to see particular customer list by giving the EmailDomain as an input parameter .
Here the Email Domain can be gmail, yahoo, hotmail etc..
*This feature will return the list of customer(s) who has the same email domain as provided in the input parameter. It
will print the list of customers in the following format on the console - “CustomerID CustomerName CustomerEmail”.
* If there are more than one customers then it will print the list of customers in an ascending order of their CustomerId.
* If no such customer is found in the system then it will throw a custom exception CustomerNotFound, it should throw a
message “No such customer is registered with <EmailDomain>”.
*As an Administrator, I should be able to view the order details of customers using Customer Id.
*Create two classes Customer and Order, Order should be inherited from the class Customer. Implement a Single
Inheritance for handling this sceanrio.
Initial
Size Business Sprint Commen
Estimate Priority Number ts
(SP)