How pramacoder/pengajuanproposal works
Sistem Pengajuan Proposal PKM is a multi-role Laravel application that takes student proposals through supervisor validation, reviewer assignment and review, revision, selection, university validation, and final funding decisions. Operators manage review stages and system data; students and faculty can monitor outcomes. The README documents the end-to-end stages and Supabase-backed relational data and fallback file storage. Sampled controller and service excerpts confirm reviewer assignment, review completion, and review retrieval; other stage connections reflect documented workflow, not inspection of every controller.
Main entry points: web.php Web routes · Proposal.php Proposal and review data · StorageHelper.php Proposal file storage · ProposalController.php Proposal submission
Components 25
Access and operations
- Web routes
routes/web.php - Authentication and roles
app/Http/Controllers/AuthController.php - Account management
app/Http/Controllers/Operator/AccountManagementController.php - Phase control
app/Services/RuangKontrolService.php
Proposal lifecycle
- Proposal submission
app/Http/Controllers/Mahasiswa/ProposalController.php - Supervisor validation
app/Http/Controllers/DosenController.php - Proposal revisions
app/Http/Controllers/Mahasiswa/ProposalRevisiController.php
Review and selection
- Reviewer assignment
app/Services/ReviewerAssignmentService.php - Administrative review
app/Http/Controllers/Reviewer/AdministratifController.php - Substantive review
app/Http/Controllers/Reviewer/SubstantifController.php - Review completion
app/Services/ReviewCompletionService.php - Semi-final selection
app/Http/Controllers/Operator/HasilController.php
Results and services
- Final validation
app/Http/Controllers/DosenController.php - Final funding decision
app/Http/Controllers/PimpinanPTController.php - Proposal and result views
app/Http/Controllers/Mahasiswa/ProposalReviewController.php - Notifications
app/Services/NotificationService.php - Proposal and review data
app/Models/Proposal.php - Proposal file storage
app/Helpers/StorageHelper.php
Other components
- Student
- Supervisor
- Reviewer
- Operator
- University leadership
- Supabase storage
- Local disk fallback
Connections 36
- Student → Web routes: opens application
- Supervisor → Web routes: opens application
- Reviewer → Web routes: opens application
- Operator → Web routes: opens application
- University leadership → Web routes: opens application
- Web routes → Authentication and roles: routes requests
- Web routes → Proposal submission: dispatches submissions
- Web routes → Supervisor validation: dispatches validation
- Web routes → Reviewer assignment: dispatches assignments
- Web routes → Administrative review: dispatches reviews
- Web routes → Substantive review: dispatches reviews
- Web routes → Proposal revisions: dispatches revisions
- Web routes → Semi-final selection: dispatches decisions
- Web routes → Final validation: dispatches validation
- Web routes → Final funding decision: dispatches decisions
- Proposal submission → Proposal and review data: writes proposal
- Proposal submission → Proposal file storage: stores documents
- Supervisor validation → Proposal and review data: updates validation
- Reviewer assignment → Proposal and review data: assigns reviewers
- Reviewer assignment → Notifications: notifies assignment
- Administrative review → Proposal and review data: records review
- Substantive review → Proposal and review data: records scores
- Substantive review → Review completion: checks completion
- Review completion → Proposal and review data: reads reviews
- Review completion → Notifications: notifies revision
- Proposal revisions → Proposal and review data: updates proposal
- Proposal revisions → Proposal file storage: stores revisions
- Semi-final selection → Proposal and review data: records outcomes
- Final validation → Proposal and review data: updates validation
- Final funding decision → Proposal and review data: records final results
- Proposal and result views → Proposal and review data: reads reviews and results
- Notifications → Proposal and review data: stores notifications
- Proposal file storage → Supabase storage: uses primary storage
- Proposal file storage → Local disk fallback: falls back
- Phase control → Web routes: gates active phases
- Account management → Proposal and review data: manages user records