crime-story / eLearningPlatform

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

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

About

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


Languages

Language:Java 100.0%