== 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:StoreRegistration Store and Owner Registration] [wiki:ClientRegistration Client Registration] [wiki:PlaceOrder Placing an Order] [wiki:SubmitRequest Submitting a Customer Request] [wiki:ProductChange Product Update] [wiki:GenerateReports Generating Reports (Monthly / Yearly / Sales / Profit)] [wiki:RefundProcessing Refund Processing]