== Application Design – Use Cases and Database Access Scenarios – SQL Views == Actors **Guest User (Unauthenticated User)** A user who does not have an active session. Can access only public information such as the list of courses and categories. **Registered User (USER)** A logged-in user. Can purchase subscriptions, enroll in courses, watch lessons, take quizzes, and receive certificates. **Instructor (INSTRUCTOR)** A privileged user who creates and manages courses, modules, and lessons, and can review enrolled students’ progress. **Administrator (ADMIN)** A user with full privileges who manages support tickets and oversees platform operations. == Scenarios [wiki:UserLogin User Login] [wiki:NewUserRegistration New User Registration] [wiki:PurchasingSubscription Purchasing a Subscription] [wiki:ViewingAvailableCourses Viewing Available Courses (Public Access)] [wiki:EnrollingCourse Enrolling in a Course] [wiki:ClientRegistration Client Registration] [wiki:WatchingLessons Watching Lessons and Taking a Quiz] [wiki:IssuingCertificate Issuing a Certificate] [wiki:CreatingCourse Creating a Course (Instructor)] [wiki:AddingModules Adding Modules and Lessons (Instructor)] [wiki:ViewingEnrolledStudents Viewing Enrolled Students per Course (Instructor)] [wiki:SupportTickets Support Tickets (Admin)] [wiki:ViewingAllSupportTickets Viewing All Support Tickets (Admin)] == Most Important Use Cases [wiki:NewUserRegistration New User Registration] [wiki:PurchasingSubscription Purchasing a Subscription] [wiki:ViewingAvailableCourses Viewing Available Courses (Public Access)] [wiki:EnrollingCourse Enrolling in a Course] [wiki:WatchingLessons Watching Lessons and Taking a Quiz] [wiki:CreatingCourse Creating a Course (Instructor)] [wiki:SupportTickets Support Tickets (Admin)]