Commit Graph
100 Commits
Author SHA1 Message Date
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
Hamza-Ayed 728f82181b feat: Add AiVideoGeneratorService for automated lively video script generation 2026-08-29 00:50:53 +03:00
Hamza-Ayed 294a60ecdb feat: Add migration script to apply or refresh database schema 2026-08-29 00:28:46 +03:00
Hamza-Ayed b3f70193a3 feat: Prepare DB architecture for AI multimedia ecosystem
- Add ai_podcast_url and ai_video_url to lessons for NotebookLM integration
- Add markdown_content to lessons to store extracted PDF curriculum directly in DB
- Create lesson_resources table for managing Worksheets, Summaries, and Books PDFs
2026-08-29 00:22:04 +03:00
Hamza-Ayed 03039a9611 fix: Strip markdown fences from Gemini JSON response to fix PDF curriculum extraction 2026-08-29 00:14:43 +03:00
Hamza-Ayed 5901329ef2 feat: Implement National ID sub-account login flow for students
- Updates verifyOtp to return identity_token for students instead of auto-login
- Adds verifyNationalId API endpoint to select or create a student profile under a single phone number
- Allows multiple students per guardian phone number
2026-08-29 00:10:04 +03:00
Hamza-Ayed 731194cba0 fix: multi-child demo linking in Guardian portal 2026-08-28 23:18:18 +03:00
Hamza-Ayed 8aab91c77f feat: Connect Guardian portal to real student mastery tracking
- Add GuardianController API endpoint to fetch student progress, readiness, and weakness gap logs.
- Add dynamic JS logic to GuardianPortal.php to replace static mockups.
- Connect Exam AI diagnostics (weaknesses, socratic checks) directly to the parent's dashboard view.
2026-08-28 23:17:14 +03:00
Hamza-Ayed a18d19588d feat: add unified print utility for students (StepLab & Exams) 2026-08-28 23:11:55 +03:00
Hamza-Ayed 1401db11d0 fix: 4 critical bugs — worker argv, student dashboard visibility, teacher onboarding flow, password validation 2026-08-28 23:08:15 +03:00
Hamza-Ayed abe862f04d Update Saqel Platform: 2026-08-28 18:21:58 2026-08-28 18:21:58 +03:00
Hamza-Ayed 2c529c579c Update Saqel Platform: 2026-08-28 18:13:52 2026-08-28 18:13:52 +03:00
Hamza-Ayed 6c8cb53af0 Update Saqel Platform: 2026-08-28 18:08:03 2026-08-28 18:08:03 +03:00
Hamza-Ayed 597ef1809d Update Saqel Platform: 2026-08-28 16:42:38 2026-08-28 16:42:38 +03:00
Hamza-Ayed cdcfa71c96 Update Saqel Platform: 2026-08-28 16:40:48 2026-08-28 16:40:48 +03:00
Hamza-Ayed f941c53035 Update Saqel Platform: 2026-08-28 16:36:22 2026-08-28 16:36:22 +03:00
Hamza-Ayed a20866eec8 Update Saqel Platform: 2026-08-28 16:30:12 2026-08-28 16:30:12 +03:00
Hamza-Ayed fe5a71bcad Update Saqel Platform: 2026-08-28 16:24:59 2026-08-28 16:24:59 +03:00
Hamza-Ayed ca0e18990e Update Saqel Platform: 2026-08-28 16:18:12 2026-08-28 16:18:12 +03:00
Hamza-Ayed 39c1e14232 Update Saqel Platform: 2026-08-28 16:06:52 2026-08-28 16:06:53 +03:00
Hamza-Ayed e6fd319ff4 Update Saqel Platform: 2026-08-28 15:55:08 2026-08-28 15:55:09 +03:00
Hamza-Ayed 86bdee399d Update Saqel Platform: 2026-08-28 15:41:53 2026-08-28 15:41:53 +03:00
Hamza-Ayed 974de0a641 Update Saqel Platform: 2026-08-28 15:39:16 2026-08-28 15:39:16 +03:00
Hamza-Ayed 2bcf2d2ba2 Update Saqel Platform: 2026-08-28 15:34:26 2026-08-28 15:34:26 +03:00
Hamza-Ayed d97a98abdb Update Saqel Platform: 2026-08-28 15:28:24 2026-08-28 15:28:24 +03:00
Hamza-Ayed 070e80ea30 Update Saqel Platform: 2026-08-28 15:19:58 2026-08-28 15:19:58 +03:00
Hamza-Ayed 06461635bf Update Saqel Platform: 2026-08-28 15:13:58 2026-08-28 15:13:58 +03:00
Hamza-Ayed 1c39d4c9cb Update Saqel Platform: 2026-08-28 15:11:34 2026-08-28 15:11:34 +03:00
Hamza-Ayed 710695b50b Update Saqel Platform: 2026-08-28 15:04:45 2026-08-28 15:04:45 +03:00
Hamza-Ayed 82170b4190 Update Saqel Platform: 2026-08-28 05:00:19 2026-08-28 05:00:19 +03:00
Hamza-Ayed 4991d50508 Update Saqel Platform: 2026-08-28 04:58:01 2026-08-28 04:58:01 +03:00
Hamza-Ayed 8b09ab767b Update Saqel Platform: 2026-08-28 04:49:19 2026-08-28 04:49:19 +03:00
Hamza-Ayed 8d22e78821 Update Saqel Platform: 2026-08-28 04:45:18 2026-08-28 04:45:18 +03:00
Hamza-Ayed cad7b7aa2b Update Saqel Platform: 2026-08-28 04:39:37 2026-08-28 04:39:37 +03:00
Hamza-Ayed eaf90d8c93 Auto purge cached session from localStorage when user is invalidated or DB reset 2026-08-28 04:35:00 +03:00
Hamza-Ayed 1d6ba50b21 Use CREATE TABLE IF NOT EXISTS and full DROP coverage in database_schema.sql 2026-08-28 04:29:47 +03:00
Hamza-Ayed 62ab0ab9a0 Update DROP TABLE order to ensure clean execution in migrate.php 2026-08-28 04:26:20 +03:00
Hamza-Ayed 6e0e07e17f Update Saqel Platform: 2026-08-28 04:23:13 2026-08-28 04:23:13 +03:00
Hamza-Ayed 21d2ed704d Update Saqel Platform: 2026-08-28 04:19:47 2026-08-28 04:19:47 +03:00
Hamza-Ayed 17a22c6985 fix: populate questions and options tables, scale AI chapters/checkpoints to video duration, open student lesson discovery 2026-08-28 04:14:16 +03:00
Hamza-Ayed dc2ebb108c feat: Dynamic student lesson discovery, lesson selector carousel, and live Socratic checkpoint streaming 2026-08-28 04:08:04 +03:00
Hamza-Ayed ab52d44c94 fix: Auto-seed official subjects table to satisfy foreign key constraints on courses creation 2026-08-28 04:03:01 +03:00
Hamza-Ayed d82d5a9ab9 fix: Add explicit Request properties and AllowDynamicProperties attribute to eliminate PHP 8.2 deprecation output 2026-08-28 04:01:32 +03:00
Hamza-Ayed 01d905f4da fix: Align exams creator_type enum to ai_adaptive and add fault-tolerant checkpoint generation 2026-08-28 02:54:14 +03:00
Hamza-Ayed e788379c68 fix: Auto-seed teacher courses and auto-resolve course entity on video direct upload 2026-08-28 02:51:35 +03:00
Hamza-Ayed c0918f56bc fix: Enable automatic teacher course binding on video upload and automated Cloudflare R2 object sync 2026-08-28 02:48:53 +03:00
Hamza-Ayed 0ce5616e22 refactor: Remove Bunny Stream completely from UI and unify Teacher Studio to streamlined Cloudflare R2 & FFmpeg HLS uploader 2026-08-28 02:40:17 +03:00
Hamza-Ayed 7ddaff6b14 security: Remove all hardcoded secret keys from codebase and enforce strict getenv environment loading 2026-08-28 02:34:13 +03:00
Hamza-Ayed 7b778a1879 feat: Configure Cloudflare R2 Object Storage & CDN integration with AWS SigV4 upload and public distribution URL 2026-08-28 02:31:41 +03:00
Hamza-Ayed f0592466f6 feat: Implement DML Interactive Canvas & Dynamic Visual Physics and Math Simulators with live sliders for calculus and mechanics 2026-08-28 02:06:26 +03:00
Hamza-Ayed a99ff9a184 feat: Implement Socratic Step-by-Step Problem Lab with 60s locked struggle timer and progressive step disclosure scaffolding 2026-08-28 02:00:56 +03:00
Hamza-Ayed 4d01962cf8 feat: Implement Zero-Touch Autonomous Forensic AI Video & Curriculum Analyzer (Gemini timeline chaptering, strictly chronological Socratic checkpoints, and curriculum grounding) 2026-08-28 01:42:59 +03:00
Hamza-Ayed 54ceab1aae feat: Implement Server-Side FFmpeg HLS Transcoding (.m3u8), HLS.js streaming, and dynamic Socratic In-Video Checkpoint Engine 2026-08-28 01:30:56 +03:00
Hamza-Ayed 8044f86798 feat: Implement Dual Video Pipeline (Direct Server API Upload & Bunny.net Stream Cloud CDN + DRM) with Socratic interactive player 2026-08-27 19:18:51 +03:00
Hamza-Ayed 70176deb3b feat: Implement zero-latency WebSocket live message broadcast with luxury audio chime and Apple-style toast notifications 2026-08-27 15:22:24 +03:00
Hamza-Ayed 7faf223583 fix: Preserve HTTP status code in Response::json and handle 401 session expiration gracefully in loadConversations 2026-08-27 14:56:50 +03:00
Hamza-Ayed d18d1aa2b5 fix: Add output buffer cleansing in Response::json and enhance error logging for conversation parsing 2026-08-27 14:54:11 +03:00
Hamza-Ayed e16ad471c3 fix: Resolve OTP verification instant transition and ensure bulletproof non-crashing conversation contact listing 2026-08-27 12:09:09 +03:00
Hamza-Ayed 9e9417f937 fix: Rewrite getConversations query to guarantee all students appear for teacher without complex join dependencies 2026-08-27 11:48:42 +03:00
Hamza-Ayed e1a75e71ab fix: Enhance safe DOM rendering for teacher conversations list and auto-selection of active chat 2026-08-27 03:55:34 +03:00
Hamza-Ayed dd06cafa87 fix: Implement automatic seed provisioning for teacher/students, graceful recipient resolution, and instant chat hydration 2026-08-27 03:51:24 +03:00
Hamza-Ayed 7fd67756b4 fix: Enable dynamic student/teacher contact discovery, dual REST/WebSocket persistence, and multi-path .env detection 2026-08-27 03:47:45 +03:00
Hamza-Ayed b11a4bd8c1 fix: Resolve WebSocket authentication error, add verifyJWT alias, and implement 20s heartbeat keep-alive for permanent stable connections 2026-08-27 03:39:57 +03:00
Hamza-Ayed 596f5e6603 feat: Complete 3 core pillars - Realtime Workerman WebSocket Chat, Interactive Socratic Video Player with 45s Remedial Rewind, and Multi-level AI Exam Taking Engine 2026-08-27 03:34:14 +03:00
Hamza-Ayed 845a5f3111 fix: Implement persistent zero-flicker JWT session hydration with localStorage and cookies across Student and Teacher portals 2026-08-27 03:28:05 +03:00
Hamza-Ayed f4af4d2db8 feat: Embed official Saqel Logo across all navbars and footers, setup browser favicons, and integrate StitchMCP design pipeline 2026-08-27 03:25:02 +03:00
Hamza-Ayed 0d25239712 feat: Install custom Apple UI design system skills, implement official Apple.com dark aesthetic with SF Pro/Arabic typography and Bento grids 2026-08-27 03:19:07 +03:00
Hamza-Ayed 261796fcab feat: Full Apple Cupertino design revolution, SF Pro/Alexandria font stack, fixed grid layout, and luxury glassmorphic UI across all portals 2026-08-27 03:15:43 +03:00
Hamza-Ayed c7db799fa8 fix: Correct founder name to Hamza Al-Ghwairy, protect proprietary intellectual property, and elevate executive enterprise styling 2026-08-27 03:10:58 +03:00