Process Overview: Instructors or admins can create new courses.
Authentication: Only authenticated users with instructor or admin roles can create courses.
Data Storage: New course data is stored in the database.
+-----------------------+
| User Authenticates |
+-----------------------+
|
v
+-----------------------+
| Verify Role (Instructor/Admin) |
+-----------------------+
|
v
+-----------------------+
| Enter Course Details |
+-----------------------+
|
v
+-----------------------+
| Store Course in DB |
+-----------------------+
Process Overview: Admins can delete existing courses and associated resources.
Authentication: Only authenticated users with admin roles can delete courses.
Data Deletion: Courses and associated chapters, including media assets, are deleted from the database and third-party services like Mux.
+-----------------------+
| User Authenticates |
+-----------------------+
|
v
+-----------------------+
| Verify Role (Admin) |
+-----------------------+
|
v
+-----------------------+
| Select Course to Delete|
+-----------------------+
|
v
+-----------------------+
| Delete Chapters and Assets (Mux)|
+-----------------------+
|
v
+-----------------------+
| Delete Course from DB |
+-----------------------+
Process Overview: Instructors or admins can update course details.
Authentication: Only authenticated users with instructor or admin roles can update courses.
Data Update: Updates are made to the course details in the database.
+-----------------------+
| User Authenticates |
+-----------------------+
|
v
+-----------------------+
| Verify Role (Instructor/Admin) |
+-----------------------+
|
v
+-----------------------+
| Enter Course Updates |
+-----------------------+
|
v
+-----------------------+
| Update Course in DB |
+-----------------------+
Process Overview: Instructors or admins can publish courses once all required fields are completed.
Authentication: Only authenticated users with instructor or admin roles can publish courses.
Data Update: The course status is updated to published in the database.
+-----------------------+
| User Authenticates |
+-----------------------+
|
v
+-----------------------+
| Verify Role (Instructor/Admin) |
+-----------------------+
|
v
+-----------------------+
| Verify Course Details |
+-----------------------+
|
v
+-----------------------+
| Publish Course |
+-----------------------+
|
v
+-----------------------+
| Update Course Status in DB |
+-----------------------+
Process Overview: Admins can manage payments, enrollments, and points.
Authentication: Only authenticated users can perform these actions.
Data Management: Payment statuses, course enrollments, and points are tracked in the database.
+-----------------------+
| User Authenticates |
+-----------------------+
|
v
+-----------------------+
| Verify Role |
+-----------------------+
|
v
+-----------------------+
| Manage Payments |
+-----------------------+
|
+---------------------+
| |
v v
+---------------------+ +--------------------+
| Track Payments | | Update Points |
| Update Status in DB | | Add/Update in DB |
+---------------------+ +--------------------+