How reee00/learning-report-system works
LRS is a role-based learning-reporting web application. The main workflow is coach-authored reports with lesson details, attendance and media, followed by operational approval or rejection and school PIC monitoring of approved reports. Separate branches cover master-data administration, student import, attendance export and access control. The README documents these capabilities; sampled code confirms key report, authorization, student and PIC behavior, but unsampled controller and route wiring is not assumed.
Main entry points: ReportController.php Coach report entry · SchoolController.php Master data admin · AuthorizationService.php Authorization · MediaStorageService.php Media storage
Components 26
Access & Roles
- Users
app/Models/User.php - Login
app/Http/Controllers/Auth/LoginController.php - Authorization
app/Services/AuthorizationService.php - Role middleware
app/Http/Middleware/RoleMiddleware.php
Operations & Master Data
- Master data admin
app/Http/Controllers/Admin/SchoolController.php - Schools
app/Models/School.php - Classes & programs
app/Models/SchoolClass.php - Programs
app/Models/Program.php - Student management
app/Http/Controllers/StudentController.php - Student import
app/Imports/StudentsImport.php - Students
app/Models/Student.php
Learning Reports
- Coach report entry
app/Http/Controllers/Coach/ReportController.php - Learning reports
app/Models/Report.php - Report attendance
app/Models/ReportAttendance.php - Report media
app/Models/ReportMedia.php
Attendance & Review
- Report review
app/Http/Controllers/Admin/ReportController.php - School PIC monitoring
app/Http/Controllers/SchoolPic/DashboardController.php - Attendance records
app/Http/Controllers/AttendanceController.php
Media & Export
- Attendance export
app/Services/AttendanceExportService.php - Media storage
app/Services/MediaStorageService.php - Cloudinary
app/Helpers/CloudinaryHelper.php
Other components
- Application database
- Coach
- Operations staff
- School PIC
- Excel file
Connections 29
- Coach → Login: signs in
- Login → Users: authenticates
- Login → Coach report entry: routes by role
- Operations staff → Master data admin: manages records
- Master data admin → Authorization: checks access
- Master data admin → Schools: manages schools
- Master data admin → Classes & programs: manages classes
- Master data admin → Programs: manages programs
- Student management → Authorization: checks access
- Student management → Students: creates or deletes
- Excel file → Student management: uploads roster
- Student management → Student import: imports roster
- Student import → Students: creates students
- Coach → Coach report entry: submits report
- Coach report entry → Authorization: checks permissions
- Coach report entry → Learning reports: creates or updates
- Coach report entry → Report attendance: syncs attendance
- Coach report entry → Media storage: stores uploads
- Media storage → Report media: creates records
- Media storage → Application database: persists metadata
- Operations staff → Report review: reviews submission
- Report review → Authorization: checks access
- Report review → Learning reports: approves or rejects
- School PIC → School PIC monitoring: monitors reports
- School PIC monitoring → Learning reports: reads approved reports
- Attendance records → Authorization: checks permissions
- Attendance records → Attendance export: requests export
- Attendance export → Application database: reads attendance
- Media storage → Cloudinary: uses legacy media