Sprint 3 Scenarios Use Case Diagrams - root-mrrobot/wits-academy GitHub Wiki


Use Case Name Registration
Initiating Actor User
Triggering Event User desires to create an account on the platform
Preconditions -The user must have access to an internet connection
-The user must have access to the platform
Postconditions -The user's details will be stores in the database
-The user will be able to login with these credentials.

Brief Description

The user is prompted to create an account on the platform. They enter their details, it gets validated and the registration is successful

Basic Flow:

User enters details into registration fields The system validates and verifies the details and stores details in a database The system creates an account for the user The user is able to login with these credentials

Exceptions:

The user enters invalid information

The user already has an account

The system is offline

Use Case Diagram:

Registration


Use Case Name Login
Initiating Actor User
Triggering Event User desires to log into platform
Preconditions -The user must have access to an internet connection
-The user must have access to the platform
Postconditions -The user's will be redirected to the home landing page
-The user will be able to use the platforms services

Brief Description

The user is prompted to enter their login credentials on the platform. They enter their details, it gets validated and the login is successful

Basic Flow

User enters details into login fields The system validates and verifies the credentials against that in a database The user is redirected to the home landing page

Exceptions:

The user enters invalid credentials The system is offline

Use Case Diagram:

Login


Use Case Name Landing Home Page
Initiating Actor User
Triggering Event User desires use the platforms services
Preconditions -The user must have access to an internet connection
-The user must have access to the platform
- The user must be registered and logged in
Postconditions -The user's will have access to either the teacher or student view
-The user will be able to use the platforms services in either view

Brief Description

The user is prompted to between proceeding as a teacher or a student. The decide upon which to proceed as and press the corresponding button, it gets validated and the user is successfully redirected to the homepage of either view.

Basic Flow

User presses the button of which they choose to proceed as (teacher or student) The system validates the clicked button The user is redirected to the homepage of the view that they have selected

Exceptions:

The user does not choose to proceed as either.

The system is offline

Use Case Diagram:

LandingHomePage


Use Case Name Student View (Described further below)
Initiating Actor User
Triggering Event User desires to act as a student and have access to services available to students
Preconditions -The user must have access to an internet connection
-The user must have access to the platform
- The user must be registered and logged in
-The user must be in student view
Postconditions -The user's will have access to student view
-The user will be able to use the platforms services in student view

Brief Description

The user has chosen to be a student in student view in this instance. There is a lot of functionality available in the student view. Using the navigation bar you can either be on the homepage viewing all courses, the subscriptions page viewing your subscriptions to the account page viewing your account and being able to change to teacher view. When any button is pressed it gets validated and the user is the successfully redirected to the subsequent page.

Basic Flow

User presses the navigation button of which fragment they wish to view The system validates the clicked button The user is redirected to the correct fragment that they have selected and the user now has access to all functionality of said fragment.

Exceptions:

The system is offline

User is in teacher view

Use Case Diagram:

StudentView drawio


Use Case Name Student Homepage
Initiating Actor User
Triggering Event User desires to act as a student and have access to services available to students
-User desires to view Student Homepage
Preconditions -The user must have access to an internet connection
-The user must have access to the platform
- The user must be registered and logged in
-The user must be in student view
Postconditions -The user's will have access to student homepage
-The user will be able to use the platforms services in student homepage

Brief Description

The user has chosen to be a student in student view in this instance. There is a lot of functionality available in the student view, one of which is the student homepage. Using the navigation bar you can either be on the homepage viewing all courses, the subscriptions page viewing your subscriptions to the account page viewing your account and being able to change to teacher view. In this instance we will be looking at the Student Homepage. The navigation bar default is set to the home page, thus when first in student view, this is the page you will initially be one. That being said, if on any other page it is always possible to navigate back to the student homepage. In this fragment the user will be able to view all courses available for subscriptions well as filter them by categories. Along with this, a user can click upon a single course to trigger a pop-up to render and display a summary of course related content.

Basic Flow

User is on the set default of the student view(student homepage) or uses the navigation bar to select the homepage. If the user navigates to the student home page, the first system validates the clicked button and the user is then directed to the correct fragment. The user now has access to all functionality of the student homepage. Here the student can view all available course, filter course by category and click on courses to enable a pop-up to view further relevant course information.

Exceptions:

The system is offline

User is in teacher view

Use Case Diagram:

StudentHomePage drawio


Use Case Name Course Pop-Up (Student View)
Initiating Actor User
Triggering Event User desires to view course summary
-User desires Subscribe to course
Preconditions -The user must have access to an internet connection
-The user must have access to the platform
- The user must be registered and logged in
-The user must be in student view
-The user must NOT be in subscribed to the course already
Postconditions -The user's will have access to course contents/resources
-The user will be able to use the platforms services in the course

Brief Description

The user is initially on the student homepage. The user has chosen to further view a course summary. By clicking on individual course, the course pop-up is generated and displayed with further course information as well as an opportunity to subscribe provided the user is not already subscribed. The user is also able to exit the course pop-up whether they've subscribed or not. If a user chooses to subscribe this is added to their subscriptions and is written to the database.

Basic Flow

User is on the set default of the student view(student homepage) or uses the navigation bar to select the homepage. User selects a course and the system validates which course has been clicked. Once validated all course specific information is collected and displayed in the course pop-up. Along with a subscribe button and an exit button. The user now has access to all functionality of the course. The course is now added to the students subscriptions and the user cannot click the subscribe button again.

Exceptions:

The system is offline

User is in teacher view

User is already subscribed to course

Use Case Diagram:

CoursePopUp drawio


Use Case Name Student Subscriptions Page
Initiating Actor User
Triggering Event -User desires to act as a student and have access to services available to students
-User desires to view Student Subscriptions Page
Preconditions -The user must have access to an internet connection
-The user must have access to the platform
- The user must be registered and logged in
-The user must be in student view
Postconditions -The user's will have access to its subscriptions
-The user will be able to use the platforms services in student view on his/hers subscriptions

Brief Description

The user has chosen to be a student in student view in this instance. There is a lot of functionality available in the student view, one of which is the student homepage. Using the navigation bar you can either be on the homepage viewing all courses, the subscriptions page viewing your subscriptions to the account page viewing your account and being able to change to teacher view. In this instance we will be looking at the Student Subscriptions Page. The navigation bar default is set to the home page, thus when first in student view, this is the page you will initially be one. For a user to be on the Student Subscriptions Page they have to select that that in the bottom navigation bar. In this fragment a user can view all their subscribed to courses and click on each individual course to view a course overview and moving forward all subsequent and relevant course information and resources.

Basic Flow

User uses the navigation bar to select the subscriptions page. The system validates the clicked button and the user is then redirected to the correct fragment. The user now has access to all functionality of the student subscriptions page. If a course is clicked a new page is generated with a summary of course content and the user can exit this page or proceed through the selected course.

Exceptions:

The system is offline

User is in teacher view

User is not subscribed to any courses

Use Case Diagram:

StudentSubscriptionsPage drawio


Use Case Name Course Overview (of Subscribed to Courses)(Student View)
Initiating Actor User
Triggering Event -User desires to act as a student and have access to services available to students
-User desires to view Student Subscriptions Page
-User User desires to view a specific course that they are subscribed to
Preconditions -The user must have access to an internet connection
-The user must have access to the platform
- The user must be registered and logged in
-The user must be in student view
-The user must be subscribed to a least one course
Postconditions -The user's will have access to the course it is subscribed to
-The user will be able to use the platforms services in student view of specific clicked upon course

Brief Description

The user has chosen to view a specific course from the subscriptions (visible in the student subscriptions fragment). The user clicks upon desired course and, once system validates, the user is then taken to a course over page with a summary of information and a button allowing the student to proceed and look through the courses contents. This button will take the user to view the topics available in the course.

Basic Flow

User is on subscriptions Page. The user now selects a course from the list that they wish to view. The system validates the clicked course and the user is then redirected to the correct page. The user is now on the course overview page and is able to click a button and further view the course contents If the course contents button is clicked the user is take to another activity with relevant content. There are 2 other buttons, a unsubscribe button and a rate button. Both of these do not have functionality at the current moment.

Exceptions:

The system is offline

User is in teacher view

User is not subscribed to any courses

Use Case Diagram:

CourseOverviewStudentView drawio


Use Case Name Course Topics (of Subscribed to Courses)(Student View)
Initiating Actor User
Triggering Event -User desires to act as a student and have access to services available to students
-User desires view a specific course that they are subscribed to as well as its contents
Preconditions -The user must have access to an internet connection
-The user must have access to the platform
- The user must be registered and logged in
-The user must be in student view
-The user must be subscribed to at least one course
-There must be course content available for selected course
Postconditions -The user's will have access to course topics and resources
-The user will be able to use the platforms services in student view on his/hers subscribed to courses
-The user will be able to download resources

Brief Description

The user has chosen to view a specific course from the subscriptions (visible in the student subscriptions fragment). The user has passed the course overview page and has selected the option to further view the courses contents. Upon this decision the user is then taken to the course topics fragment. This displays all topics available to the user and when a topic is clicked it takes you to the resources fro a specific topic.

Basic Flow

User is on course overview page. The user now selects the button to view the course content. The system validates the clicked button and the user is then redirected to the correct page. The user is now on the course topics page and is able to click a topic and further view the topics resources. If the a topic is clicked a new activity will be generate to display the course resources.

Exceptions:

The system is offline

User is in teacher view

User is not subscribed to any courses

The teacher has not yet set any course topics as yet

Use Case Diagram:

SubbedCourseTopics drawio


Use Case Name Course Resources (of Subscribed to Courses)(Student View)
Initiating Actor User
Triggering Event -User desires to act as a student and have access to services available to students
-User desires view a specific course that they are subscribed to as well as its topics and then its resources
Preconditions -The user must have access to an internet connection
-The user must have access to the platform
- The user must be registered and logged in
-The user must be in student view
-The user must be subscribed to at least one course
-There must be course content available for selected course
Postconditions -The user's will have access to resources
-The user will be able to use the platforms services in student view on his/hers subscribed to courses resources
-The user will be able to download resources

Brief Description

The user has chosen to view a specific course from the subscriptions (visible in the student subscriptions fragment). The user has passed the course overview page and and has selected the option to further view the courses contents. Once on the topics page the user selects a specific topic and is then redirected to the course resources page, if validation is successful. Here, all resources specific to the topic and course are displayed. This displays all PDF and Video resources in list view. When a single resource id clicked, it is then dowloaded upon the users device.

Basic Flow

User is on course topics page. The user now selects a specific topic from the list which is then validation. If validation is successful, the user is then redirected to the correct page. The user is now on the course resources page and is able to click a resource (PDF or Video) and the resource is downloaded to their device.

Exceptions:

The system is offline

User is in teacher view

User is not subscribed to any courses

The teacher has not yet set any resources for selected course topic.

Use Case Diagram:

CourseResourcesStudentView drawio


Use Case Name Student Account Page
Initiating Actor User
Triggering Event -User desires to act as a student and have access to services available to students
-User desires to view Student Account Page
Preconditions -The user must have access to an internet connection
-The user must have access to the platform
- The user must be registered and logged in
-The user must be in student view
Postconditions -The user's will have access to its account and account information
-The user will be able to use the platforms services in student view on his/hers account

Brief Description

The user has chosen to be a student in student view in this instance. There is a lot of functionality available in the student view, one of which is the student homepage. Using the navigation bar you can either be on the homepage viewing all courses, the subscriptions page viewing your subscriptions to the account page viewing your account and being able to change to teacher view. In this instance we will be looking at the Student Subscriptions Page. The navigation bar default is set to the home page, thus when first in student view, this is the page you will initially be one. For a user to be on the Student Account Page they have to select that that in the bottom navigation bar. In this fragment a user can view the email that is linked to their account and upload/view their profile picture. A user is also able to switch to teacher view via a toggle button and logout of the application.

Basic Flow

User uses the navigation bar to select the account page. The system validates the clicked button and the user is then redirected to the correct fragment. The user now has access to all functionality of the student account page. User can switch over to teacher view via the toggle button and is redirected to the Teacher HomePage after the system validates the clicked button. The User can logout. Once system validates that the logout button was selected the user is logged out and taken to the login activity. The User can upload a profile picture and view this in the account page.

Exceptions:

The system is offline

User is in teacher view

Use Case Diagram:

StudentAccountPage drawio


Use Case Name Teacher View (Described further below)
Initiating Actor User
Triggering Event User desires to act as a teacher and have access to services available to teachers
Preconditions -The user must have access to an internet connection
-The user must have access to the platform
- The user must be registered and logged in
-The user must be in teacher view
Postconditions -The user's will have access to teacher view
-The user will be able to use the platforms services in teacher view

Brief Description

The user has chosen to be a teacher in teacher view in this instance. There is a lot of functionality available in the teacher view. Using the navigation bar you can either be on the homepage adding a course as a teacher, the courses page viewing the courses you have created to the account page viewing your account and being able to change to student view. When any button is pressed it gets validated and the user is the successfully redirected to the subsequent page.

Basic Flow

User presses the navigation button of which fragment they wish to view The system validates the clicked button The user is redirected to the correct fragment that they have selected and the user now has access to all functionality of said fragment.

Exceptions:

The system is offline

User is in student view

Use Case Diagram:

TeacherView drawio


Use Case Name Teacher Homepage
Initiating Actor User
Triggering Event User desires to act as a teacher and have access to services available to teacher
-User desires to view Teacher Homepage
-User desires to create a course
Preconditions -The user must have access to an internet connection
-The user must have access to the platform
- The user must be registered and logged in
-The user must be in teacher view
Postconditions -The user's will have access to teacher homepage
-The user will be able to use the platforms services in teacher homepage
-The user will be able to create a course

Brief Description

The user has chosen to be a teacher in teacher view in this instance. There is a lot of functionality available in the teacher view, one of which is the teacher homepage. Using the navigation bar you can either be on the homepage to create a new course, the courses page viewing the courses you have created to the account page viewing your account and being able to change to student view. In this instance we will be looking at the Teacher Homepage. The navigation bar default is set to the home page, thus when first in teacher view, this is the page you will initially be one. That being said, if on any other page it is always possible to navigate back to the teacher homepage. In this fragment the user will be able to create a new course.

Basic Flow

User is on the set default of the teacher view(teacher homepage) or uses the navigation bar to select the homepage. If the user navigates to the teacher home page, the system first validates the clicked button and the user is then directed to the correct fragment. The user now has access to all functionality of the teacher homepage. If the user wishes to create a new course all he/she has to do is fill out the required fields and click the create course button. This will the create the new course provided all information is successfully validated.

Exceptions:

The system is offline

User is in student view

Use Case Diagram:

TeacherHomePage drawio


Use Case Name Teacher Courses Page
Initiating Actor User
Triggering Event -User desires to act as a teacher and have access to services available to teachers
-User desires to view the Teacher Courses Fragment
Preconditions -The user must have access to an internet connection
-The user must have access to the platform
- The user must be registered and logged in
-The user must be in teacher view
-The user must have created at least one course
Postconditions -The user will have access to its courses
-The user will be able to use the platforms services in teacher view on his/hers created courses

Brief Description

The user has chosen to be a teacher in teacher view in this instance. There is a lot of functionality available in the teacher view, one of which is the student courses page. The navigation bar default is set to the home page, thus when first in teacher view, this is the page you will initially be one. For a user to be on the Teacher Courses Page they will have to select that that in the bottom navigation bar. In this fragment a user can view all their created courses and click on each individual course to view a course overview and moving forward all subsequent and relevant course information and resources as well as functionality to add additional course content..

Basic Flow

User uses the navigation bar to select the courses page. The system validates the clicked button and the user is then redirected to the correct fragment. The user now has access to all functionality of the student courses page. The user can now view all the course he/she has created. If a course is clicked a new page is generated with a summary of course content and the user can exit this page or proceed through the selected course to create and view content.

Exceptions:

The system is offline

User is in student view

User does not have any created courses

Use Case Diagram:

Teacher CoursesPage drawio


Use Case Name Course Overview (of Teacher Created Courses)(Teacher View)
Initiating Actor User
Triggering Event -User desires to act as a teacher and have access to services available to teachers
-User desires to view Teacher Courses Page
-User desires to view a specific course that they created
Preconditions -The user must have access to an internet connection
-The user must have access to the platform
- The user must be registered and logged in
-The user must be in teacher
-The user must have created at least one course
Postconditions -The user's will have access to the course it created
-The user will be able to use the platforms services in teacher view of specific clicked upon course

Brief Description

The user has chosen to view a specific course from the courses (visible in the teacher courses fragment). The user clicks upon desired course and, once system validates, the user is then taken to a course overview page with a summary of information and a button allowing the student to proceed by creating and looking through the courses contents. This button will take the user to view the topics available in the courses well as allowing the user to create new topics

Basic Flow

User is on courses page. The user now selects a course from the list that they wish to view. The system validates the clicked course and the user is then redirected to the correct page. The user is now on the course overview page and is able to click a button and further view the course contents If the course contents button is clicked the user is take to another activity with relevant content.

Exceptions:

The system is offline

User is in student view

User has no created courses

Use Case Diagram:

CourseOverviewTeacherView drawio


Use Case Name Course Topics (of Teacher Created Courses)(Teacher View)
Initiating Actor User
Triggering Event -User desires to act as a teacher and have access to services available to teachers
-User desires view a specific course that have created to as well as its contents
Preconditions -The user must have access to an internet connection
-The user must have access to the platform
- The user must be registered and logged in
-The user must be in teacher view
-The user must have created at least one course
Postconditions -The user's will be able to create view new course topics
-The user will be able to use the platforms services in teacher view on his/hers created courses
-The user will be able to upload and download resources

Brief Description

The user has chosen to view a specific course from the courses (visible in the teacher courses fragment). The user has passed the course overview page and has selected the option to further view the courses contents. Upon this decision the user is then taken to the course topics fragment. A user is able to create new topics within thaw activity. This also displays all topics already available to the user and when a topic is clicked it takes you to the resources for a specific topic.

Basic Flow

User is on course overview page. The user now selects the button to view the course content. The system validates the clicked button and the user is then redirected to the correct page. The user is now on the course topics page. The user is able to create new topics as well as view already created topics. Furthermore the user is able to click a topic and further view the topics resources. If the a topic is clicked a new activity will be generate to display the course resources as well as allow the user to upload new resources.

Exceptions:

The system is offline

User is in student view

User has not created any courses as yet

Use Case Diagram:

CourseTopics drawio


Use Case Name Course Resources (of Teacher Created Courses)(Teacher View)
Initiating Actor User
Triggering Event -User desires to act as a teacher and have access to services available to teachers
-User desires view a specific course that they created as well as create and view course content/resources.
Preconditions -The user must have access to an internet connection
-The user must have access to the platform
- The user must be registered and logged in
-The user must be in teacher view
-The user must have created at least one course
-There must be at least one topic in relation to the course
Postconditions -The user's will have access to resources
-The user will be able to use the platforms services in teacher view on his/hers created course resources
-The user will be able to view already uploaded course resources

Brief Description

The user has chosen to view a specific topic from the course topics page (rendered due to a button being clicked in course overview). The user has passed the course overview page and and has selected the option to further view the courses contents. Once on the topics page the user selects a specific topic and is then redirected to the course resources page, if validation is successful. Here, all resources that have already been uploaded for a specific e topic and course are displayed. This displays all PDF and Video resources in list view. When a single resource id clicked, it is then dowloaded upon the users device. Furthermore, there are 2 buttons, an "Upload PDF" and an "Upload Video" button.Clicking once of these buttons will take you to the corresponding activity where the user can upload resources.

Basic Flow

User is on course topics page. The user now selects a specific topic from the list which is then validation. If validation is successful, the user is then redirected to the correct page. The user is now on the course resources page and is able to click a resource (PDF or Video) and the resource is downloaded to their device. The user is able to click on 1 of 2 buttons to upload 2 different types of resources.

Exceptions:

The system is offline

User is in student view

User has not created any course

User has not created any topics for selected resource

Use Case Diagram:

CourseResourcesTeacherView drawio


Use Case Name Upload Videos (of Teacher Created Courses)(Teacher View)
Initiating Actor User
Triggering Event -User desires to act as a teacher and have access to services available to teachers
-User desires to upload Video resources specific to a course topic
Preconditions -The user must have access to an internet connection
-The user must have access to the platform
- The user must be registered and logged in
-The user must be in teacher view
-The user must have created at least one course
-The use must have created at least once topic for the course
Postconditions -The user's will be able to upload a video resource
-The user will be able to use the platforms services in teacher view to upload videos

Brief Description

The user has chosen to view a specific course from they created course (visible in the teacher courses fragment). The user has passed the course overview page and and has selected the option to further view the courses contents. Once on the topics page the user selects a specific topic and is then redirected to the course resources page. The user has then selected the button to upload a video resource. Here, a user is able to upload a video resource for the specific previously selected course topic. There is an upload button for the user to successfully upload the selected video resource.

Basic Flow

User is on course resource page. The user now selects the "Upload Video" button which is then validation. If validation is successful, the user is then redirected to the correct page. The user is now on the video upload page and is able to upload the video resource and add it to the course topic, available for download.

Exceptions:

The system is offline

User is in student view

User is has not created any courses

The user has not created any topics for the selected courses

Use Case Diagram:

UploadVideo drawio


Use Case Name Upload PDFs (of Teacher Created Courses)(Teacher View)
Initiating Actor User
Triggering Event -User desires to act as a teacher and have access to services available to teachers
-User desires to upload PDF resources specific to a course topic
Preconditions -The user must have access to an internet connection
-The user must have access to the platform
- The user must be registered and logged in
-The user must be in teacher view
-The user must have created at least one course
-The use must have created at least once topic for the course
Postconditions -The user's will be able to upload a PDF resource
-The user will be able to use the platforms services in teacher view to upload PDFs

Brief Description

The user has chosen to view a specific course from they created course (visible in the teacher courses fragment). The user has passed the course overview page and and has selected the option to further view the courses contents. Once on the topics page the user selects a specific topic and is then redirected to the course resources page. The user has then selected the button to upload a PDF resource. Here, a user is able to upload a PDF resource for the specific previously selected course topic. There is an upload button for the user to successfully upload the selected video resource.

Basic Flow

User is on course resource page. The user now selects the "Upload PDF" button which is then validation. If validation is successful, the user is then redirected to the correct page. The user is now on the PDF upload page and is able to upload the PDF resource and add it to the course topic, available for download.

Exceptions:

The system is offline

User is in student view

User is has not created any courses

The user has not created any topics for the selected courses

Use Case Diagram:

UploadPDF drawio


Use Case Name Teacher Account Page
Initiating Actor User
Triggering Event -User desires to act as a teacher and have access to services available to teachers
-User desires to view Teacher Account Page
Preconditions -The user must have access to an internet connection
-The user must have access to the platform
- The user must be registered and logged in
-The user must be in teacher view
Postconditions -The user's will have access to its account and account information
-The user will be able to use the platforms services in teacher view on his/hers account

Brief Description

The user has chosen to be a teacher in teacher view in this instance. There is a lot of functionality available in the teacher view, one of which is the teacher account page. The navigation bar default is set to the home page, thus when first in teacher view, this is the page you will initially be one. For a user to be on the Teacher Account Page they have to select that that in the bottom navigation bar. In this fragment a user can view the email that is linked to their account and upload/view their profile picture. A user is also able to switch to student view via a toggle button and logout of the application.

Basic Flow

User uses the navigation bar to select the account page. The system validates the clicked button and the user is then redirected to the correct fragment. The user now has access to all functionality of the teacher account page. User can switch over to student view via the toggle button and is redirected to the Student HomePage after the system validates the clicked button. The User can logout. Once system validates that the logout button was selected the user is logged out and taken to the login activity. The User can upload a profile picture and view this in the account page.

Exceptions:

The system is offline

User is in student view

Use Case Diagram:

TeacherAccountPage drawio


⚠️ **GitHub.com Fallback** ⚠️