Hamza-Ayed
|
60be22f418
|
Order watch session migration after video versions
|
2026-09-09 17:11:51 +03:00 |
|
Hamza-Ayed
|
313e994025
|
Make legacy migrations safe on canonical schema
|
2026-09-09 17:07:17 +03:00 |
|
Hamza-Ayed
|
f9851e3b4c
|
Add explicit SSH pull and migration verification flow
|
2026-09-09 17:04:52 +03:00 |
|
Hamza-Ayed
|
5af684a892
|
Implement verified curriculum, video review, watch sessions, ledger safeguards, and remove demo data
|
2026-09-09 17:04:08 +03:00 |
|
Hamza-Ayed
|
0dc5df7b5e
|
docs(rtl): align all markdown documentation files right-to-left for Arabic readability
|
2026-09-09 11:38:30 +03:00 |
|
Hamza-Ayed
|
432ca50204
|
fix(student_app): remove duplicate _showNoVideoAvailableSheet declaration in subject_hub_screen.dart
|
2026-09-09 01:36:06 +03:00 |
|
Hamza-Ayed
|
78ad245ee5
|
fix(playback): isolate curriculum keys and prevent non-uploaded lessons from falling back to previous video
|
2026-09-09 01:33:56 +03:00 |
|
Hamza-Ayed
|
a4d6e34a40
|
fix(curriculum): robustly normalize student grade across app and backend to display subjects
|
2026-09-09 01:28:31 +03:00 |
|
Hamza-Ayed
|
a8e895d5da
|
fix(playback): enable authentic video playback for Intro and Lesson 2 across student app and backend
|
2026-09-09 01:23:51 +03:00 |
|
Hamza-Ayed
|
0a2ca71cb4
|
Fix student grade registration: set grade_10 as default, add auto-heal for legacy tawjihi_2008, add student grade selector and update-grade API
|
2026-09-09 01:06:35 +03:00 |
|
Hamza-Ayed
|
8183e53b86
|
Update Saqel Platform: 2026-09-09 00:52:08
|
2026-09-09 00:52:08 +03:00 |
|
Hamza-Ayed
|
0c239c431d
|
Update Saqel Platform: 2026-09-09 00:24:41
|
2026-09-09 00:24:41 +03:00 |
|
Hamza-Ayed
|
956bb4a674
|
Update Saqel Platform: 2026-09-09 00:12:31
|
2026-09-09 00:12:31 +03:00 |
|
Hamza-Ayed
|
3d9fb16767
|
Update Saqel Platform: 2026-09-08 23:51:07
|
2026-09-08 23:51:07 +03:00 |
|
Hamza-Ayed
|
ef639e804d
|
Update Saqel Platform: 2026-09-08 23:48:05
|
2026-09-08 23:48:05 +03:00 |
|
Hamza-Ayed
|
be60f34148
|
Update Saqel Platform: 2026-09-08 23:44:33
|
2026-09-08 23:44:33 +03:00 |
|
Hamza-Ayed
|
41493f5dd6
|
Update Saqel Platform: 2026-09-08 23:35:48
|
2026-09-08 23:35:48 +03:00 |
|
Hamza-Ayed
|
90487a42ad
|
Update Saqel Platform: 2026-09-08 23:29:32
|
2026-09-08 23:29:32 +03:00 |
|
Hamza-Ayed
|
590326baa0
|
Update Saqel Platform: 2026-09-08 18:55:21
|
2026-09-08 18:55:21 +03:00 |
|
Hamza-Ayed
|
9198a2f974
|
Update Saqel Platform: 2026-09-08 18:49:45
|
2026-09-08 18:49:45 +03:00 |
|
Hamza-Ayed
|
dd8b95035f
|
Update Saqel Platform: 2026-09-08 18:44:36
|
2026-09-08 18:44:36 +03:00 |
|
Hamza-Ayed
|
dbbd7786f2
|
Update Saqel Platform: 2026-09-08 18:35:03
|
2026-09-08 18:35:03 +03:00 |
|
Hamza-Ayed
|
4008d4a435
|
Update Saqel Platform: 2026-09-08 18:26:41
|
2026-09-08 18:26:41 +03:00 |
|
Hamza-Ayed
|
e5cbd89323
|
Update Saqel Platform: 2026-09-08 18:19:28
|
2026-09-08 18:19:28 +03:00 |
|
Hamza-Ayed
|
75451ebc3f
|
Update Saqel Platform: 2026-09-08 17:51:07
|
2026-09-08 17:51:07 +03:00 |
|
Hamza-Ayed
|
902cf00152
|
Update Saqel Platform: 2026-09-08 17:30:46
|
2026-09-08 17:30:46 +03:00 |
|
Hamza-Ayed
|
5fd1f32d4c
|
Update Saqel Platform: 2026-09-08 14:08:24
|
2026-09-08 14:08:24 +03:00 |
|
Hamza-Ayed
|
c3d526c011
|
Update Saqel Platform: 2026-09-08 14:06:11
|
2026-09-08 14:06:11 +03:00 |
|
Hamza-Ayed
|
5bccd13b85
|
Update Saqel Platform: 2026-09-08 14:01:43
|
2026-09-08 14:01:43 +03:00 |
|
Hamza-Ayed
|
9e3750692e
|
Update Saqel Platform: 2026-09-08 13:59:41
|
2026-09-08 13:59:41 +03:00 |
|
Hamza-Ayed
|
10f885b2f1
|
Update Saqel Platform: 2026-09-08 13:55:24
|
2026-09-08 13:55:24 +03:00 |
|
Hamza-Ayed
|
bb37b31cab
|
Update Saqel Platform: 2026-09-08 13:43:36
|
2026-09-08 13:43:36 +03:00 |
|
Hamza-Ayed
|
0f424062fe
|
Update Saqel Platform: 2026-09-05 23:24:49
|
2026-09-05 23:24:49 +03:00 |
|
Hamza-Ayed
|
0e5be7adbb
|
Update Saqel Platform: 2026-09-05 22:17:15
|
2026-09-05 22:17:15 +03:00 |
|
Hamza-Ayed
|
68265a5bc6
|
Update Saqel Platform: 2026-09-05 22:08:42
|
2026-09-05 22:08:42 +03:00 |
|
Hamza-Ayed
|
368f68cc97
|
feat(curriculum): restore video player, organize math & english labs hierarchically, add scoped audio and interactive grammar mind maps
|
2026-09-05 00:33:45 +03:00 |
|
Hamza-Ayed
|
b0c2bfc03b
|
Update Saqel Platform: 2026-09-05 00:11:09
|
2026-09-05 00:11:09 +03:00 |
|
Hamza-Ayed
|
e7bc20bc98
|
fix(platform): grade-gate student app, isolate per-video resume & checkpoints, remove fake teachers, enhance arabic lab, clean flutter analyze
|
2026-09-04 23:41:32 +03:00 |
|
Hamza-Ayed
|
ae00aa943e
|
Update Saqel Platform: 2026-09-04 21:26:55
|
2026-09-04 21:26:55 +03:00 |
|
Hamza-Ayed
|
24f6b5a589
|
Update Saqel Platform: 2026-09-04 03:20:29
|
2026-09-04 03:20:30 +03:00 |
|
Hamza-Ayed
|
1235abc0cb
|
Update Saqel Platform: 2026-09-04 03:09:10
|
2026-09-04 03:09:10 +03:00 |
|
Hamza-Ayed
|
882541a56a
|
Update Saqel Platform: 2026-09-04 02:57:19
|
2026-09-04 02:57:19 +03:00 |
|
Hamza-Ayed
|
1fe97bf3eb
|
Update Saqel Platform: 2026-09-04 02:04:43
|
2026-09-04 02:04:43 +03:00 |
|
Hamza-Ayed
|
58c3c48f69
|
feat: STEM Virtual Lab, English TTS companion, dynamic textbooks and zero-demo video fallback
|
2026-09-03 17:37:15 +03:00 |
|
Hamza-Ayed
|
445a1aa0e3
|
Fix Flutter exam parsing, make exams tab dynamic from API, and add intelligent exam resolution to submitExam
|
2026-09-03 16:59:14 +03:00 |
|
Hamza-Ayed
|
0a61e32033
|
Enrich full codebase with architectural Arabic docblocks and synchronize database_schema.sql with live database
|
2026-09-03 16:51:29 +03:00 |
|
Hamza-Ayed
|
9624cfb4c8
|
Fix exams foreign key constraint on lesson_id by using NULL instead of 0 for unit exams
|
2026-09-03 16:46:17 +03:00 |
|
Hamza-Ayed
|
be4fe3dabf
|
Fix MySQL scope ENUM to unit_exam in AiQuestionBankGeneratorService and ExamController
|
2026-09-03 16:44:37 +03:00 |
|
Hamza-Ayed
|
8d7ffcf2eb
|
Implement Server-Side AI Question Bank Generator, Adaptive Weakness Sampling 60/40, and Curriculum Studio One-Click Generation
|
2026-09-03 15:38:35 +03:00 |
|
Hamza-Ayed
|
c9c03892d1
|
Implement multi-teacher video selector, in-app curriculum document reader, 15-question Unit 1 exam bank, and interactive science simulation engine
|
2026-09-03 15:16:46 +03:00 |
|
Hamza-Ayed
|
7e0aae023a
|
Fix student_question_answers table creation, clean manifest duplicate units, and calibrate Socratic timeline seeking
|
2026-09-03 14:04:39 +03:00 |
|
Hamza-Ayed
|
b41db82537
|
Fix curriculum grounding for Grade 10: replace calculus fallback with authentic Systems of Equations questions and add self-healing guard
|
2026-09-03 13:49:45 +03:00 |
|
Hamza-Ayed
|
db9004c9ed
|
Fix amberGold color token in AppColors and clean unused import
|
2026-09-03 13:31:46 +03:00 |
|
Hamza-Ayed
|
12049fd7da
|
Complete Socratic adaptive exams in Flutter, Guardian WhatsApp alerts, and curriculum robustness
|
2026-09-03 10:14:34 +03:00 |
|
Hamza-Ayed
|
ab482d85e4
|
Update Saqel Platform: 2026-09-02 09:06:45
|
2026-09-02 09:06:45 +03:00 |
|
Hamza-Ayed
|
8c62d81f04
|
Update Saqel Platform: 2026-09-02 08:59:54
|
2026-09-02 08:59:54 +03:00 |
|
Hamza-Ayed
|
5ecfaafa48
|
Update Saqel Platform: 2026-09-02 08:55:31
|
2026-09-02 08:55:32 +03:00 |
|
Hamza-Ayed
|
a9b1819e9a
|
Update Saqel Platform: 2026-09-02 08:47:33
|
2026-09-02 08:47:33 +03:00 |
|
Hamza-Ayed
|
ff9fdbb24e
|
Update Saqel Platform: 2026-09-02 08:20:41
|
2026-09-02 08:20:41 +03:00 |
|
Hamza-Ayed
|
a4536395c5
|
Update Saqel Platform: 2026-09-02 08:12:57
|
2026-09-02 08:12:57 +03:00 |
|
Hamza-Ayed
|
36939a50c1
|
Update Saqel Platform: 2026-09-02 07:52:23
|
2026-09-02 07:52:24 +03:00 |
|
Hamza-Ayed
|
739f934a26
|
Update Saqel Platform: 2026-09-02 07:43:58
|
2026-09-02 07:43:58 +03:00 |
|
Hamza-Ayed
|
310d4b57e9
|
Update Saqel Platform: 2026-09-02 01:25:14
|
2026-09-02 01:25:14 +03:00 |
|
Hamza-Ayed
|
a1c7029838
|
Update Saqel Platform: 2026-09-02 01:23:51
|
2026-09-02 01:23:51 +03:00 |
|
Hamza-Ayed
|
f4ab43d49a
|
Update Saqel Platform: 2026-09-02 00:55:56
|
2026-09-02 00:55:56 +03:00 |
|
Hamza-Ayed
|
1c0cd88a98
|
Fix RTL player time formatting and add interactive chalkboard notes
|
2026-08-31 18:01:26 +03:00 |
|
Hamza-Ayed
|
a9b9c90d20
|
Guarantee 100% success response with Socratic checkpoints on /api/lessons/{id}/playback
|
2026-08-31 17:57:31 +03:00 |
|
Hamza-Ayed
|
7ab10209dc
|
Fix UI overflows in SubjectHub/Grid and guarantee Socratic checkpoints response
|
2026-08-31 17:55:22 +03:00 |
|
Hamza-Ayed
|
43d6b88106
|
Fix lessons table SQL column name in getPlaybackData
|
2026-08-31 17:50:38 +03:00 |
|
Hamza-Ayed
|
d8a50bb105
|
Enhance video playback cubit resilience and K-12 curriculum flow
|
2026-08-31 17:46:03 +03:00 |
|
Hamza-Ayed
|
78b703f625
|
Fix PHP 8 router parameter dispatching and lesson slug playback lookup
|
2026-08-31 17:45:27 +03:00 |
|
Hamza-Ayed
|
ccf5f13a09
|
Update Saqel Platform: 2026-08-31 01:52:23
|
2026-08-31 01:52:24 +03:00 |
|
Hamza-Ayed
|
4e29915383
|
Update Saqel Platform: 2026-08-31 00:19:49
|
2026-08-31 00:19:49 +03:00 |
|
Hamza-Ayed
|
c4c59bc828
|
Update Saqel Platform: 2026-08-29 22:41:36
|
2026-08-29 22:41:36 +03:00 |
|
Hamza-Ayed
|
051b9322f6
|
Update Saqel Platform: 2026-08-29 22:05:41
|
2026-08-29 22:05:41 +03:00 |
|
Hamza-Ayed
|
d10e1c712c
|
Update Saqel Platform: 2026-08-29 21:51:24
|
2026-08-29 21:51:24 +03:00 |
|
Hamza-Ayed
|
22568fe220
|
feat: Implement semantic video naming, MySQL database curriculum synchronization, and live two-way binding between filesystem and DB
|
2026-08-29 05:40:45 +03:00 |
|
Hamza-Ayed
|
9fc60b2cf5
|
fix: Isolate OTP keys and sessions per role in Redis so teacher and student logins on the same phone number never collide
|
2026-08-29 05:29:26 +03:00 |
|
Hamza-Ayed
|
a8700c656f
|
feat: Upgrade AI Video prompt to 10-15 minute deep comprehensive lesson with multiple examples and textbook integration
|
2026-08-29 05:24:10 +03:00 |
|
Hamza-Ayed
|
484ad9773d
|
feat: Make copied video prompt direct, ultra-crisp with explicit 'اعمل فيديو' 5-bullet instructions
|
2026-08-29 05:22:17 +03:00 |
|
Hamza-Ayed
|
295e6e9b06
|
feat: Refine AI Voiceover prompt to produce direct spoken narration without director meta-cues
|
2026-08-29 05:20:43 +03:00 |
|
Hamza-Ayed
|
6b7ddf2ded
|
feat: Optimize AI Video prompt generator to output ultra-concise, structured NotebookLM & video briefs
|
2026-08-29 05:18:12 +03:00 |
|
Hamza-Ayed
|
771ec6acc5
|
feat: Add collapsible curriculum accordion tree, direct video upload to platform, resilient AI asset generation with smart synthesis fallback, and ingest Physics Unit 2
|
2026-08-29 05:13:47 +03:00 |
|
Hamza-Ayed
|
4e047ee8f2
|
feat: Ingest complete Grade 10 Physics Unit 1 (Vectors) with full experiments, scalar/vector analysis, math products, enrichment, and international questions
|
2026-08-29 05:06:12 +03:00 |
|
Hamza-Ayed
|
9e276d6de6
|
feat: Normalize Grade 10 subjects in manifest with Arabic & English names (English, Math, Physics)
|
2026-08-29 04:58:04 +03:00 |
|
Hamza-Ayed
|
439572453f
|
feat: Ingest complete Grade 10 Math textbook (Units 1-4) with semantic lesson naming, clean file hierarchy, and AI Video prompt generator
|
2026-08-29 04:53:45 +03:00 |
|
Hamza-Ayed
|
5b58ead215
|
feat: Ingest authentic Grade 10 Math Unit 3 (Trigonometry) with full polar system, unit circle, graph analysis, equations, and exam
|
2026-08-29 04:46:58 +03:00 |
|
Hamza-Ayed
|
8cbb87cb51
|
feat: Ingest authentic Grade 10 Math Unit 2 (Circle) with full theorems, LaTeX proofs, exercises, and exam
|
2026-08-29 04:43:18 +03:00 |
|
Hamza-Ayed
|
8230b42ac1
|
feat: Ingest complete 30 pages of Math Unit 1 (Equations) with full exercises, GeoGebra lab, and exam
|
2026-08-29 04:38:35 +03:00 |
|
Hamza-Ayed
|
eb94f6ff77
|
feat: Ingest authentic Grade 10 Math Unit 1 with complete LaTeX equations and full derivations
|
2026-08-29 03:32:37 +03:00 |
|
Hamza-Ayed
|
39cf087488
|
fix: Support array payload from Security::verifyJWT for student identity verification
|
2026-08-29 03:07:10 +03:00 |
|
Hamza-Ayed
|
6da006e154
|
fix: Eliminate PHP parse error in AuthController studentProfileSetup
|
2026-08-29 03:03:36 +03:00 |
|
Hamza-Ayed
|
a8d0efbbea
|
fix: Resolve getJSON method error in student national ID verification and enhance curriculum worker Gemini model handling
|
2026-08-29 03:00:06 +03:00 |
|
Hamza-Ayed
|
9a1cb3adfd
|
feat: Add UI button to watch NotebookLM AI Video Summary in Student Portal if ai_video_url exists for the lesson
|
2026-08-29 02:55:07 +03:00 |
|
Hamza-Ayed
|
c338deea5a
|
fix: Add missing JS showSuccess and showError to StudentPortal fixing UI freeze during OTP
|
2026-08-29 02:45:10 +03:00 |
|
Hamza-Ayed
|
3d09b8235d
|
fix: Run curriculum worker in true CLI background to prevent web server timeout at 20%
|
2026-08-29 02:29:55 +03:00 |
|
Hamza-Ayed
|
598467b58f
|
Update Saqel Platform: 2026-08-29 02:03:07
|
2026-08-29 02:03:07 +03:00 |
|
Hamza-Ayed
|
135a379b32
|
feat: Update Curriculum Studio with AI Assets panel to manually generate and input NotebookLM assets
|
2026-08-29 02:01:52 +03:00 |
|
Hamza-Ayed
|
074c08fc6f
|
feat: Add AiLessonEnhancerService to automatically generate NotebookLM-style cheat sheets and quizzes
|
2026-08-29 01:26:25 +03:00 |
|
Hamza-Ayed
|
d4379bf0d3
|
feat: Add cheat_sheet and socratic_quiz columns to lessons for automated AI curriculum generation
|
2026-08-29 01:15:26 +03:00 |
|