How afrizalbmm/ujion-tka-apps works
Ujion TKA is a Laravel platform for teacher-operated assessment: superadmins prepare question banks, packages and exams; teachers manage learning content and run simulations; students enter tokenized exams, submit answers and receive a final score. A separate material-practice flow supports immediate-feedback review questions and one-time package attempts, with results for teachers. Teacher activation and public exam sales add payment workflows, while live chat and WhatsApp support communication. The README documents several capabilities whose controller wiring was not sampled, so those branches are shown at subsystem level rather than as inferred call chains.
Main entry points: ExamController.php Exam session · Superadmin Assessment admin · DokuPaymentController.php Payment handling · ChatController.php Live chat
Components 30
Assessment authoring
- Assessment admin
app/Http/Controllers/Superadmin - Global question bank
app/Http/Controllers/Superadmin/GlobalQuestionController.php - Package management
app/Http/Controllers/Superadmin/PaketSoalController.php - Exam management
app/Http/Controllers/Superadmin/ExamController.php - Question data
app/Models/GlobalQuestion.php - Package data
app/Models/PaketSoal.php - Exam data
app/Models/Exam.php
Exam delivery
- Exam session
app/Http/Controllers/Siswa/ExamController.php - Exam screens
resources/js/Pages/Ujian/Pengerjaan.vue - Sessions and answers
app/Models/UjianSesi.php - Exam results
app/Http/Controllers/Guru/ExamResultController.php
Material practice
- Practice setup
app/Http/Controllers/Superadmin/MaterialPracticeController.php - Practice sessions
app/Http/Controllers/Siswa/MaterialPracticeController.php - Practice analysis
app/Http/Controllers/Guru/ExamResultController.php - Practice state
app/Models/MaterialPracticeSession.php
Teacher operations
- Teacher accounts
app/Http/Controllers/Superadmin/TeacherController.php - Materials and questions
app/Http/Controllers/Guru/MaterialController.php - Personal question bank
app/Http/Controllers/Guru/PersonalQuestionController.php - Live chat
app/Http/Controllers/Guru/ChatController.php - Chat records
app/Models/Chat.php - WhatsApp blast
app/Jobs/SendWhatsAppBlast.php - Personal question data
app/Models/PersonalQuestion.php
Public and payments
- Teacher registration
app/Http/Controllers/RegisterGuruController.php - Payment handling
app/Http/Controllers/DokuPaymentController.php - Transactions
app/Models/Transaction.php
Other components
- Superadmin
- Teacher/operator
- Student
- DOKU payments
- WhatsApp gateway
Connections 34
- Superadmin → Assessment admin: manages
- Assessment admin → Global question bank: maintains
- Global question bank → Question data: writes
- Assessment admin → Package management: creates
- Package management → Package data: writes
- Assessment admin → Exam management: creates exams
- Exam management → Exam data: writes
- Teacher/operator → Exam session: runs simulation
- Student → Exam session: enters token
- Exam session → Exam screens: renders
- Exam session → Sessions and answers: stores answers
- Exam data → Exam session: provides exam
- Teacher/operator → Exam results: reviews
- Exam results → Sessions and answers: reads results
- Superadmin → Practice setup: prepares practice
- Practice setup → Practice state: creates tokens and snapshots
- Student → Practice sessions: enters practice token
- Practice sessions → Practice state: saves attempts
- Teacher/operator → Practice analysis: reviews analysis
- Practice analysis → Practice state: reads attempts
- Superadmin → Teacher accounts: activates accounts
- Teacher/operator → Materials and questions: uses materials
- Teacher/operator → Personal question bank: builds questions
- Personal question bank → Personal question data: writes questions
- Teacher/operator → Live chat: messages
- Superadmin → Live chat: messages
- Live chat → Chat records: stores messages
- Teacher/operator → Teacher registration: registers
- Teacher registration → Transactions: creates pending payment
- Payment handling → Transactions: updates status
- Payment handling → DOKU payments: checks payment
- DOKU payments → Payment handling: sends notification
- Superadmin → WhatsApp blast: queues announcements
- WhatsApp blast → WhatsApp gateway: sends messages