/eLearningPlatform

Implemented an ElearningPlatform in Java 17.0.2 version and stored data with MySQL.

Primary LanguageJava

eLearningPlatform

Implemented an ElearningPlatform in Java 17.0.2 version and stored data with MySQL.

You can find Project Tasks (here)

Structure of Project:

  • 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

Objects:

  • Course
  • CourseFeedback
  • CourseMaterial
  • Material
  • Quiz
  • Student
  • Teacher
  • TeachingAssistant
  • User
  • UserCourseRepartition

Options implemented:

  • 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

Additional:

  • 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