Implemented an ElearningPlatform in Java 17.0.2 version and stored data with MySQL.
You can find Project Tasks (here)
- Package dao which contains for each object:
- DDL instructions (create table)
- DML instructions (insert, update, delete)
- SQL queries (select)
- Package pojo which contains all objects
- Package util which containts:
- An Main Service called ElearningPlatformService
- An Interface called AdmintInterface which contains some lists of objects and some necessary methods that must be implemented
- An dao (Data Access Object) class which is meant to connect to database or if the database isnt created to create one
- A Main class from which the User can call any of the below options
- Course
- CourseFeedback
- CourseMaterial
- Material
- Quiz
- Student
- Teacher
- TeachingAssistant
- User
- UserCourseRepartition
- Add Student
- Delete Student
- Update Student ScholarShip Status
- Display all Students
- Add Teacher
- Delete Teacher
- Increase Teacher Salary by procent
- Display all Teachers
- Add Teaching Assistant
- Delete Teaching Assistant
- Increase Teaching Assistant Salary by procent
- Display all Teaching Assistants
- Delete User
- Update User Gender
- Update User Phone Number
- Update User Address
- Update User Nationality
- Find User By Id
- Display all Users
- Add Course
- Delete Course
- Update Course description
- Display all Courses
- Add Course Feedback
- Delete Course Feedback
- Update Course Feedback (number of stars, feedback)
- Update Course Feedback (only number of stars)
- Update Course Feedback (only feedback)
- Display all CourseFeedbacks
- Display all CourseFeedbacks for an specific Course
- Add Quiz
- Delete Quiz
- Update Quiz Name
- Display all Quizzes
- Add Material
- Delete Material
- Update Material Availability Status
- Update Material Description
- Update Material Name
- Display all Materials used for an Course by Course ID
- Display all Materials
- Add Course Material
- Delete Course Material
- Update Course Material
- Display all Course Materials
- Add User Course Repartition
- Delete User Course Repartition
- Update User Course Repartition
- Display all Course Repartitions for an Specific Student
- Display all User Course Repartitions
- Audit Service where you can see logs of actions made by an User (name of action & timestamp)
- Used Singleton Design Pattern for ELearningPlatformService and Dao objects.
- Used regex expressions for some validations:
- Dateformat
- Answers (must be yes or no)
- Number of stars for an Feedback (must be between 0 and 5 only)
- Handled various exceptions, such as those generated by SQL statements, to make debugging easier