Commit Graph

14 Commits

Author SHA1 Message Date
KakaPatria 2905df7309 Add 6-digit reset code flow: migration, notification, controller, routes, and forgot-password UI 2026-05-20 14:38:26 +07:00
KakaPatria 24a7387cfb FINAL MAYBE 2026-05-19 16:05:06 +07:00
KakaPatria a7e4d0e5f0 Feat: Update recommendation system weights to match ROC scores from thesis analysis
- Minat (Interest): 0.456 (45.6%)
- Preferensi Studi (Study Preference): 0.256 (25.6%)
- Nilai Akademik (Academic Score): 0.156 (15.6%)
- Cita-cita (Career Aspiration): 0.090 (9.0%)
- Prestasi (Achievement): 0.040 (4.0%)

Updated weights in RekomendasiController.php at:
- Line 259: Default weights assignment
- Line 263: Fallback weights
- Line 268-278: Weight normalization logic

All 49 tests passing (122 assertions) 
2026-05-13 15:53:03 +07:00
KakaPatria e45b75531b Feat: Comprehensive input validation, backend rule tightening, database migration update
- Add comprehensive validation to 9+ CRUD forms (error summaries, field-level validation, character counters, submit gating)
- Audit all 67 Blade files for validation coverage and remediate missing validations
- Tighten backend validation rules: min:3 enforcement on all name/major fields across AdminController, BKController, AlumniController, ProfileUpdateRequest
- Update jurusan_polije table migration to match current database structure
- Restore database from backup: 9 jurusan, 10 recommendations, 20 chat histories
- Verify 49/49 PHPUnit tests passing (122 assertions, 100% success rate)
- Clean up development/test documentation files
- Status: Production ready for sidang (thesis defense)
2026-05-12 18:44:36 +07:00
KakaPatria 71b7e1df7a Chore: Add Alumni CRUD implementation, testing files, and documentation
- Implement Alumni CRUD for Admin and BK roles
- Add comprehensive testing reports and analysis documentation
- Update authentication views and admin/bk layouts
- Add UserFlowTest and TestScoringInput command
- Update composer dependencies
- Add Alumni database migrations and seeders
- Improve Python backend logging
- All 49 PHPUnit tests passing
2026-05-05 09:12:30 +07:00
KakaPatria 84b3fc4469 Feat: UI Restructuring - Integrate history with main pages
- Combine recommendation form with history on single page
- Combine chatbot interface with chat history on single page
- Fix chatbot SQL error (DISTINCT + ORDER BY incompatibility)
- Fix chatbot not showing old recommendations incorrectly
- Remove history cards from dashboard (moved to respective pages)
- Remove delete account from student profile (admin-only now)
- All 49 PHPUnit tests passing
2026-05-05 09:10:08 +07:00
KakaPatria b48f27505e UI/UX Redesign: Student profiles, history pages, and alumni templates
IMPROVEMENTS:
- Redesigned student profile pages (Admin & BK) with horizontal gradient headers
- Avatar + profile info grid layout for better visual hierarchy
- Sticky chat sidebar with 2/3-1/3 column split for main content
- Updated profile edit page with modern gradient header and compact form
- Redesigned history rekomendasi with expandable details and data summary
- Added 4 interactive Chart.js visualizations to dashboards (Doughnut, Bar, Pie)
- Improved sidebar typography (Admin Panel, Administrator now white)

ALUMNI IMPORT:
- Created TEMPLATE_ALUMNI_MINIMAL.csv (15 essential columns)
- Created TEMPLATE_ALUMNI_IMPORT.csv (full 25-column template with examples)
- Added comprehensive import guide (TEMPLATE_IMPORT_ALUMNI_BIMA_AMBULU.md)

DATABASE:
- Migration for Indonesian table naming (recommendations → rekomendasi, etc.)
- Updated all models with table mappings and backward-compatible accessors
- Fixed JSON casting for hasil_rekomendasi field (Recommendation model)

DATA QUALITY:
- Updated Naive Bayes weights for all 9 majors with accurate bobot_mapel
- Expanded keywords to 15-26 universal values per major
- Implemented 5 universal preferensi_studi values per major
- Added StudentWithAccurateRecommendationSeeder (14 sample students)
- Added RegenerateRecommendationsSeeder with JSON encoding fix

PYTHON BACKEND:
- Fixed Python 3.13 compatibility (pip upgrade: certifi, requests)
- Flask app now runs successfully on Python 3.13

DASHBOARD:
- Admin & BK dashboards with real-time chart data
- Cleaned major name formatting in JSON_EXTRACT queries
- Fixed 32 malformed recommendations data quality issue

Controllers: AdminController, BKController updated with chart data
Views: 6+ views redesigned with modern gradients and responsive layouts
Models: 5+ models updated with Indonesian table mappings
Tests: 45 tests passing, crud validation suite maintained
2026-04-27 08:16:24 +07:00
KakaPatria 3f0ce730a4 Improve Gemini chat flow, add Python backend gateway, and stabilize tests 2026-04-21 02:22:19 +07:00
KakaPatria fcac0ac627 Refine recommendation flow and chatbot behavior 2026-04-09 23:24:48 +07:00
KakaPatria c86ed6511e restore: explainable recommendation feature with detailed breakdown per criteria (nilai, minat, pref, cita, prestasi) 2026-04-07 17:49:34 +07:00
KakaPatria d208d68ad8 fix: add Indonesian translations for password reset messages - fixes 'passwords.user' key display 2026-04-07 17:30:55 +07:00
KakaPatria e0b0c10ddc feat: add BK admin panel with complete CRUD operations and student management
- Create BKController with dashboard, students, chat history, recommendations, and jurusan management
- Add 8 BK panel views: students list/detail, chat history, riwayat rekomendasi/chatbot, jurusan CRUD, profil
- Add 15 BK routes with auth and isBK middleware protection
- Update AdminSeeder with 8+ char passwords and valid email format
- Add database migrations for chat history improvements
- Update various controllers and models for BK panel integration
- Remove sidebar Profil duplication, keep navbar dropdown only
2026-04-05 22:57:13 +07:00
KakaPatria d602dd3353 feat: CRUD jurusan DB-driven, bobot_mapel per-jurusan, scoring graduated, chatbot bahasa akademik, admin panel lengkap 2026-02-26 22:38:35 +07:00
KakaPatria 71da09cd80 Initial commit: SPK Jurusan Kuliah sistem dengan dashboard, analisis Naive Bayes, chatbot AI, profile management, dan history tracking 2026-02-11 23:08:57 +07:00