A functioning online learning platform Objective:The objective of this project is to familiarize ourselves with the concepts provided by EJBs . We will implement an online learning application using EJBs.Requirements:Functional Requirements:Admins in the system should have the following abilities:1. View and manage user accounts, including students and instructors.2. Review course content before it's published to ensure quality and compliance with platform guidelines.3. Have the authority to edit or remove courses that violate policies or are deemed inappropriate.4. Track platform usage by students and instructors, check the courses popularity, ratings, reviews, ... etc.As an instructor, you should be able to:1. Register and login into the system. Registration should collect information like name, email, password, affiliation, years of experience, and bio.2. Create courses, where each course has a name, duration, category, rating, capacity, number of enrolled students, and list of reviews.3. View detailed information about each course and search courses by name, category or sort by ratings.4. Accept/Reject student enrollments.As a student, you should be able to:1. Register and login into the system. Registration should collect information like name, email, password, affiliation, and bio. 2. View current and past course enrollments.3. View detailed information about each course and search courses by name, category or sort by ratings.4. Make or cancel course enrollment. Enrollments should be handled in a special way to avoid situations of server failure.5. Get notified for course enrollments updates6. Make a review and rating for a course.Key & non-duplication constraints apply where it makes sense. Also, you should be handling case sensitivity while searching for courses. -Technical Requirements1. Using EJBs:• You are required to use any two of these 4 different bean types to fulfill some of theabove functional requirements.o Statelesso Statefulo Singletono Message Driven• Your interface should be a web-based interface using any technology of your choice to simulate a functioning online learning platform with different users as per the abovementioned functional requirements (i.e., we should be able to perform all the functionalities using such web-based interface).• Your service should be exposed as REST APIs, and you should expose your beans using REST to fulfill the web service REST API as appropriate.• Your submission should have:o A functioning UI. It can be a separate UI that calls the APIs exposed by your services.o The database can be one centralized separate DB, or you can save the information in-memory.
A functioning online learning platform
Objective:
The objective of this project is to familiarize ourselves with the concepts provided by EJBs . We will implement an online learning application using EJBs.
Requirements:
Functional Requirements:
Admins in the system should have the following abilities:
1. View and manage user accounts, including students and instructors.
2. Review course content before it's published to ensure quality and compliance with
platform guidelines.
3. Have the authority to edit or remove courses that violate policies or are deemed
inappropriate.
4. Track platform usage by students and instructors, check the courses popularity, ratings,
reviews, ... etc.
As an instructor, you should be able to:
1. Register and login into the system. Registration should collect information like name,
email, password, affiliation, years of experience, and bio.
2. Create courses, where each course has a name, duration, category, rating, capacity,
number of enrolled students, and list of reviews.
3. View detailed information about each course and search courses by name, category or
sort by ratings.
4. Accept/Reject student enrollments.
As a student, you should be able to:
1. Register and login into the system. Registration should collect information like name,
email, password, affiliation, and bio.
2. View current and past course enrollments.
3. View detailed information about each course and search courses by name, category or
sort by ratings.
4. Make or cancel course enrollment. Enrollments should be handled in a special way to
avoid situations of server failure.
5. Get notified for course enrollments updates
6. Make a review and rating for a course.
Key & non-duplication constraints apply where it makes sense. Also, you should be handling
case sensitivity while searching for courses. -Technical Requirements
1. Using EJBs:
• You are required to use any two of these 4 different bean types to fulfill some of the
above functional requirements.
o Stateless
o Stateful
o Singleton
o Message Driven
• Your interface should be a web-based interface using any technology of your choice to
simulate a functioning online learning platform with different users as per the abovementioned functional requirements (i.e., we should be able to perform all the
functionalities using such web-based interface).
• Your service should be exposed as REST APIs, and you should expose your beans using
REST to fulfill the web service REST API as appropriate.
• Your submission should have:
o A functioning UI. It can be a separate UI that calls the APIs exposed by your
services.
o The
information in-memory.

Step by step
Solved in 2 steps









