User Documentation - s566466div/GDP-Project-EduLearn-03 GitHub Wiki

Use Cases

Use case 1:User Registration

Goal: As a new user (Student or Instructor), I want to securely register for an account on the platform. Input:

  • User navigates to the registration page.
  • User provides personal information such as name, email, and password.

System Interactions:

  • System validates the provided information.
  • If validation is successful, the system creates a new user account.
  • If validation fails or there are errors, the system displays appropriate error messages.

Expected Output: Confirmation of successful registration or error messages for unsuccessful registration attempts.

User Registration with valid fields

User Registration with valid fields

After User Registration Saved Credentials

After User Registration Saved Credentials

Invalid Field Values

Invalid Field Values

Use Case 2: User Authentication

Goal: As a registered user (Student or Instructor), I want to securely authenticate myself to access the platform. Input:

  • User navigates to the login page.
  • User enters their username (email) and password.

System Interactions:

  • System validates the credentials.
  • If credentials are valid, system grants access to the user's account.
  • If credentials are invalid, system displays an error message.

Expected Output: Successful login, granting access to user's profile or error message for invalid credentials.

Login Page

Login Page

User with valid credentials

User with valid credentials

With Valid credentials granting access to user's profile Dashboard

With Valid credentials granting access to user's profile Dashboard

With Invalid credentials and error

With Invalid credentials and error

Use Case 3: Course Catalog

Goal: As a student, I want to browse available courses and view detailed information about courses. Input:

  • Student navigates to the course catalog.
  • Student utilizes search and filtering options to find courses matching their interests or requirements.
  • Student clicks on a course to view detailed information.

System Interactions:

  • System presents a list of available courses with relevant details such as title and description.
  • Student can click on a course to view more detailed information.
  • System provides options for sorting and filtering courses based on criteria like subject or discipline.

Expected Output: Student interacts with the course catalog, viewing detailed information about available courses.

Without any Filters

Without any Filters

With search option

With search option

With Filters Applied

With Filters Applied

Course

Use Case 4: Browse and Enroll in Courses

Goal: As a student, I want to browse available courses and enroll in courses that I am interested in. Input:

  • Student navigates to the course catalog.
  • Student browses available courses or uses search and filtering options to find specific courses.
  • Students go through course information across various subjects and disciplines.

System Interactions:

  • If satisfied, Student enrolls in the course.
  • Student receives confirmation of successful enrollment.

Expected Output: Successful enrollment of courses.

Course Ready For Enrollment

Course Ready For Enrollment

When we click on Enroll Button

When we click on Enroll Button

Successfully enrollment of courses

Successfully enrollment of courses

Use Case 5:Course Dashboard

Goal: As a student, I want to interact with a user-friendly course dashboard that logically organizes course content for easy navigation. Input:

  • Student accesses the course dashboard for the enrolled course.
  • Student navigates through different sections of the dashboard.

System Interactions:

  • System displays a organized course dashboard.
  • Student clicks on various sections to access course materials and track progress.

Expected Output: Student interacts with a logically organized course dashboard, facilitating easy navigation and access to course content.

Course Dashboard

Course Dashboard

Use Case 6: Access Course Content

Goal: As an enrolled student, I want to access course materials such as video lectures, reading materials, assignments, and quizzes. Input:

  • Student selects the enrolled course they want to access.
  • Student selects a specific item (video lecture, reading material, assignment, quiz) to view.

System Interactions:

  • System presents the course dashboard with video lectures, reading materials, assignments, and quizzes.
  • System retrieves and displays the selected content.
  • Student interacts with the content as needed.

Expected Output: Student will be able able to access all the course content.

Use Case 7: Complete quizzes and assignments.

Goal: As a student, I want to complete quizzes and assignments to assess my learning progress. Input:

  • Student navigates to the course dashboard.
  • Student selects the quiz or assignment they want to complete.

System Interactions:

  • Student completes the quiz or assignment.
  • System evaluates the user's responses and provides feedback.
  • System updates user progress based on completed quizzes and assignments.

Expected Output: Student will be able to complete Quizzes and Assignments.

Use Case 8: Progress Tracker

Goal: As a student, I want to track my overall learning progress, showing completed and pending tasks. Input:

  • Student can click on a specific course to view detailed progress information.

System Interactions:

  • System displays a summary of completed tasks and pending tasks for each enrolled course.
  • System provides detailed progress information such as completed or pending lectures, assignments, and quizzes.

Expected Output: Progress tracker showing completed and pending tasks.

Overall Course and Enrollment Tracking

Overall Course and Enrollment Tracking

User cases Diagram

ER Diagram