How clough/the-student-portal works
The Student Portal is a web application for student course discovery and academic support, with assistant and administrator capabilities. The principal evidenced route is session-based entry to the authenticated home area; students can then search courses, with submitted criteria handled by the course-list endpoint. Administrators have a dashboard for user and course management. The README also describes registration, overrides, messaging, advising, and assistant tools, but their implementations or wiring are not visible in the sampled source, so these are shown as documented capabilities without inferred connections.
Main entry points: index.php Session router · dashboard/index.php Management dashboard · login/index.php Login form · search-course/index.php Course search
Components 25
Access and setup
- Session router
index.php - Login form
login/index.php - Login handler
login/login.php - Logout
login/logout.php - Setup installer
setup/install.php
Student portal
- Home and news
home/index.php - Course search
search-course/index.php - Course results
search-course/list-course.php - Course detail
search-course/course-detail.php - Profile, registration, overrides
common/library/student.php - Course selection advice
common/library/assistant.php - Messaging
common/library/user.php
Administration
- Management dashboard
dashboard/index.php - Course management
dashboard/course-management.php - Course create and update
dashboard/save-course.php - User management
dashboard/user-management.php - User create and update
dashboard/save-user.php
Shared domain
- Database schema
setup/database.sql - User domain
common/library/user.php - Course domain
common/library/course.php - Assistant tools
common/library/assistant.php
Other components
- Visitor
- Student
- Assistant
- Administrator
Connections 18
- Visitor → Session router: opens
- Session router → Login form: redirects unauthenticated
- Session router → Home and news: redirects authenticated
- Login form → Login handler: submits credentials
- Student → Course search: searches courses
- Course search → Course results: posts criteria
- Course results → Course detail: opens details
- Student → Profile, registration, overrides: uses
- Student → Course selection advice: requests advice
- Student → Messaging: sends and views
- Assistant → Assistant tools: uses advisory tools
- Assistant → Messaging: sends and views
- Administrator → Management dashboard: manages portal
- Management dashboard → Course management: opens course management
- Management dashboard → User management: opens user management
- Course management → Course create and update: manages courses
- User management → User create and update: manages users
- Setup installer → Database schema: initializes database