feat(ecosystem): full Grade 10 curriculum sync, real device fingerprinting, teacher video dashboard, and official textbook assets

This commit is contained in:
Hamza-Ayed
2026-09-11 16:46:40 +03:00
parent fc8f874bf9
commit d1bc39604b
404 changed files with 118547 additions and 1093 deletions
@@ -1,5 +1,6 @@
import '../../core/config/app_config.dart';
import '../../core/network/api_client.dart';
import '../../core/services/device_fingerprint_service.dart';
import '../../core/services/storage_service.dart';
import '../models/user_model.dart';
import '../models/lesson_model.dart';
@@ -27,13 +28,14 @@ class AuthRepository {
}
Future<Map<String, dynamic>> verifyOtp(String phoneNumber, String otp, {String role = 'student'}) async {
final fingerprint = await DeviceFingerprintService.getFingerprint();
final res = await _api.post(
AppConfig.otpVerifyEndpoint,
body: {
'phone_number': phoneNumber,
'otp': otp,
'role': role,
'device_fingerprint': 'saqel_student_flutter',
'device_fingerprint': fingerprint,
},
requiresAuth: false,
);
@@ -91,6 +93,7 @@ class AuthRepository {
String gradeLevel = 'grade_10',
String stream = 'scientific',
}) async {
final fingerprint = await DeviceFingerprintService.getFingerprint();
final res = await _api.post(
AppConfig.studentProfileSetupEndpoint,
body: {
@@ -99,6 +102,7 @@ class AuthRepository {
'national_id': nationalId,
'grade_level': gradeLevel,
'stream': stream,
'device_fingerprint': fingerprint,
},
requiresAuth: false,
);