How ryandaaa/siakad works
SIAKAD is a Laravel academic information system for students, lecturers, and administrators. Its main student workflow spans course registration, advising approval, classes and learning materials, attendance and assignments, then grades, KHS/transcript, and exports. Separate capabilities cover lecturer teaching and supervision, admin master data and user management, and Gemini-based academic advising. The graph combines README-documented features with sampled controller behavior; most feature-level wiring is not shown in the excerpts, so uncertain calls are omitted.
Main entry points: Models Academic records · web.php Web routes · Mahasiswa Student portal · Admin Admin operations
Components 24
Access and administration
- Web routes
routes/web.php - Authentication
app/Http/Controllers/Auth/AuthenticatedSessionController.php - Admin operations
app/Http/Controllers/Admin - Lecturer administration
app/Http/Controllers/Admin/DosenController.php - Student administration
app/Http/Controllers/Admin/MahasiswaController.php - Role and faculty scope
app/Http/Middleware
Academic records
- Student portal
app/Http/Controllers/Mahasiswa - Course registration
app/Http/Controllers/Mahasiswa/KrsController.php - Registration logic
app/Services/KrsService.php - Advisor KRS review
app/Http/Controllers/Dosen/BimbinganController.php - Grades and assessment
app/Http/Controllers/Dosen/PenilaianController.php - KHS and transcript
app/Http/Controllers/Mahasiswa/TranskripController.php - Academic records
app/Models
Teaching and learning
- Lecturer portal
app/Http/Controllers/Dosen - Class attendance
app/Http/Controllers/Dosen/PresensiController.php - Attendance logic
app/Services/PresensiService.php - LMS and coursework
app/Http/Controllers/Mahasiswa/LmsController.php - Learning records
app/Models
Student support
- AI academic advisor
app/Services/AiAdvisorService.php - Thesis and internship
app/Http/Controllers/Mahasiswa - Notifications
app/Http/Controllers/NotificationController.php - Notification logic
app/Services/NotificationService.php
Other components
- Campus user
- Gemini API
Connections 27
- Campus user → Web routes: sends requests
- Web routes → Authentication: dispatches auth
- Web routes → Admin operations: dispatches admin
- Web routes → Student portal: dispatches student
- Web routes → Lecturer portal: dispatches lecturer
- Web routes → Notifications: dispatches notifications
- Authentication → Campus user: authenticates
- Admin operations → Role and faculty scope: checks access
- Admin operations → Academic records: manages records
- Lecturer administration → Academic records: reads and writes
- Student administration → Academic records: reads and writes
- Student portal → Course registration: offers registration
- Course registration → Registration logic: uses registration logic
- Course registration → Academic records: reads and writes
- Advisor KRS review → Academic records: reads and updates KRS
- Grades and assessment → Academic records: records grades
- KHS and transcript → Academic records: reads results
- Lecturer portal → Class attendance: offers attendance
- Class attendance → Attendance logic: records attendance
- Attendance logic → Learning records: updates records
- Student portal → LMS and coursework: offers coursework
- LMS and coursework → Learning records: reads classes and tasks
- Student portal → AI academic advisor: offers advising
- AI academic advisor → Gemini API: consults AI
- Student portal → Thesis and internship: offers project tracking
- Notifications → Notification logic: uses notification logic
- Notification logic → Academic records: reads and updates notices