How smart-campus-portal/scp-frontend works
Smart Campus Portal is a role-based frontend for student, lecturer, and administrator workflows. Users sign in, then enter protected dashboards for campus bookings and schedules, maintenance issues, or account and system administration. The sampled code confirms authentication and selected API calls, while the file tree identifies additional feature areas whose internal wiring was not sampled; those are represented as routed capabilities without speculative service links.
Main entry points: DashboardLayoutStudent.js Student Dashboard · DashboardLayoutAdmin.js Admin Dashboard Shell · LecturerDashboard.js Lecturer Dashboard · App.js Route Application
Components 23
Access and Shell
- Route Application
src/App.js - Sign In
src/pages/LoginPage.js - Role Guard
src/pages/ProtectedRoute.js - Student Dashboard
src/components/DashboardLayoutStudent.js - Admin Dashboard Shell
src/components/DashboardLayoutAdmin.js
Student Services
- Student Home
src/pages/student/DashboardHome.js - Room and Lecture Booking
src/pages/student/BookStudyRoom.js - Schedules and Rooms
src/pages/student/LectureSchedule.js - My Bookings
src/pages/student/MyBookings.js - Student Issues
src/pages/student/ReportIssue.js - Profile and Announcements
src/pages/student/StudentProfile.js
Lecturer Services
- Lecturer Dashboard
src/pages/lecturer/LecturerDashboard.js - Appointment Bookings
src/pages/lecturer/appt_bookings.jsx - Timetable Management
src/pages/lecturer/update_timetable.jsx - Lecturer Issues
src/pages/lecturer/lect_report_issue.jsx
Administration
- Account Administration
src/pages/admin/CreateUserAccounts.js - Issue Management
src/pages/admin/AdminIssueManagement.js - System Analytics
src/pages/admin/AdminDashboard.js - System Reports
src/pages/admin/GenerateSystemReport.js - Notifications
src/pages/admin/NotificationPage.js
Shared State
- Account and Activity State
src/Context/UserContext.js
Other components
- Campus User
- Campus API
Connections 26
- Campus User → Route Application: opens portal
- Route Application → Sign In: routes public
- Route Application → Role Guard: checks protected routes
- Role Guard → Student Dashboard: admits student
- Role Guard → Lecturer Dashboard: admits lecturer
- Role Guard → Admin Dashboard Shell: admits admin
- Sign In → Campus API: authenticates
- Sign In → Campus User: stores session
- Student Dashboard → Student Home: routes student pages
- Student Dashboard → Room and Lecture Booking: routes student pages
- Student Dashboard → Schedules and Rooms: routes student pages
- Student Dashboard → My Bookings: routes student pages
- Student Dashboard → Student Issues: routes student pages
- Student Dashboard → Profile and Announcements: routes student pages
- Room and Lecture Booking → Campus API: searches and books rooms
- Lecturer Dashboard → Appointment Bookings: renders nested route
- Lecturer Dashboard → Timetable Management: renders nested route
- Lecturer Dashboard → Lecturer Issues: renders nested route
- Lecturer Dashboard → Campus API: fetches issues and notifications
- Admin Dashboard Shell → Account Administration: routes admin pages
- Admin Dashboard Shell → Issue Management: routes admin pages
- Admin Dashboard Shell → System Analytics: routes admin pages
- Admin Dashboard Shell → System Reports: routes admin pages
- Admin Dashboard Shell → Notifications: routes admin pages
- System Analytics → Campus API: fetches dashboard data
- Route Application → Account and Activity State: provides account state