How xwcdx/manpro-skripsi works
This is a Laravel/Livewire application for managing thesis proposal registration and scheduling, with student and lecturer workflows. Students enter a period, choose or submit a topic/title, request supervision, and submit revisions or final work; lecturers manage assignments, availability, schedules, venues, and presentations. The graph preserves these domain stages and the presentation decision/state-history behavior visible in sampled code. README content is absent, and most service/controller implementations and Livewire wiring were not sampled, so uncertain call links are omitted.
Main entry points: PresentationService.php Presentation scheduling · GoogleController.php Google login · login.blade.php Sign in and signup · Lecturer.php Lecturer records
Components 27
Access and identity
- Sign in and signup
resources/views/livewire/auth/login.blade.php - Google login
app/Http/Controllers/Auth/GoogleController.php - Token login
app/Http/Controllers/Api/AuthController.php - Credential service
app/Services/Auth/AuthService.php
Student thesis workflow
- Apply period
resources/views/livewire/student/apply-period.blade.php - Browse topics
resources/views/livewire/student/topics/browse.blade.php - Submit thesis title
resources/views/livewire/student/submit-title.blade.php - Topic applications
app/Services/TopicApplicationService.php - Request supervision
resources/views/livewire/student/submit-dosbing.blade.php - Supervision requests
app/Services/SupervisionApplicationService.php - Revisions and final
resources/views/livewire/student/revision-submission.blade.php - Submission handling
app/Services/SubmissionService.php
Lecturer operations
- Lecturer workspace
resources/views/livewire/lecturer/dashboard.blade.php - Assignments
resources/views/livewire/lecturer/assignments/index.blade.php - Schedule availability
resources/views/livewire/lecturer/schedules/availability.blade.php - Schedule selection
app/Services/ScheduleSelectionService.php - Presentations
resources/views/livewire/lecturer/presentations/index.blade.php - Presentation scheduling
app/Services/PresentationService.php - Title similarity
app/Traits/HasPythonVectorization.php - Similarity worker
resources/python/check_similarity.py
Domain and persistence
- Thesis and schedule records
app/Models/ThesisPresentation.php - Student records
app/Models/Student.php - Lecturer records
app/Models/Lecturer.php - Student status history
app/Models/StudentStatusHistory.php
Other components
- Student
- Lecturer
- Google identity
Connections 19
- Student → Sign in and signup: signs in
- Lecturer → Sign in and signup: signs in
- Google identity → Google login: authenticates
- Google login → Student records: finds or creates
- Google login → Lecturer records: finds or creates
- Token login → Credential service: attempts login
- Student → Apply period: starts period
- Student → Browse topics: browses
- Student → Submit thesis title: submits title
- Student → Request supervision: requests supervisor
- Student → Revisions and final: submits work
- Lecturer → Lecturer workspace: manages
- Lecturer → Assignments: reviews assignments
- Lecturer → Schedule availability: sets availability
- Lecturer → Presentations: manages hearings
- Presentation scheduling → Thesis and schedule records: writes presentation
- Presentation scheduling → Lecturer records: checks availability
- Presentation scheduling → Student status history: records decision
- Title similarity → Similarity worker: vectorizes via