Hugging Face
Models
Datasets
Spaces
Community
Docs
Enterprise
Pricing
Log In
Sign Up
Spaces:
aramka
/
aram
like
0
Running
App
Files
Files
Community
main
aram
Ctrl+K
Ctrl+K
1 contributor
History:
3 commits
aramka
undefined - Follow Up Deployment
757bdec
verified
about 2 months ago
.gitattributes
Safe
1.52 kB
initial commit
about 2 months ago
README.md
Safe
204 Bytes
🎯 Application Math Learning pour Aram Spécifications Techniques - Spring Boot + Vue.js 📋 VUE D'ENSEMBLE Nom de l'application MathQuest Kids - Plateforme d'apprentissage mathématique personnalisée Objectifs Personnaliser l'apprentissage selon les difficultés d'Aram Gamifier les exercices de mathématiques Suivre les progrès en temps réel Motiver par un système de récompenses 🏗 ARCHITECTURE TECHNIQUE Backend - Spring Boot 3.2 Frontend - Vue.js 3 + TypeScript math-learning-backend/ ├── src/main/java/com/mathquest/ │ ├── MathLearningApplication.java │ ├── config/ │ │ ├── SecurityConfig.java │ │ └── WebConfig.java │ ├── controller/ │ │ ├── UserController.java │ │ ├── ExerciseController.java │ │ ├── ProgressController.java │ │ └── RewardController.java │ ├── service/ │ │ ├── UserService.java │ │ ├── ExerciseService.java │ │ ├── ProgressService.java │ │ └── AIAdaptationService.java │ ├── repository/ │ │ ├── UserRepository.java │ │ ├── ExerciseRepository.java │ │ └── ProgressRepository.java │ └── model/ │ ├── User.java │ ├── Exercise.java │ ├── Progress.java │ └── Reward.java ├── src/main/resources/ │ ├── application.yml │ └── data.sql └── pom.xml 🎮 FONCTIONNALITÉS PRINCIPALES 1. DASHBOARD PERSONNALISÉ Vue : Dashboard.vue Avatar d'Aram avec niveau de progression Objectifs du jour Statistiques motivantes (streak, score total) Accès rapide aux exercices adaptés 2. EXERCICES INTERACTIFS math-learning-frontend/ ├── src/ │ ├── components/ │ │ ├── exercises/ │ │ │ ├── SubtractionExercise.vue │ │ │ ├── LogicExercise.vue │ │ │ └── TimedChallenge.vue │ │ ├── progress/ │ │ │ ├── ProgressChart.vue │ │ │ └── WeeklyReport.vue │ │ ├── rewards/ │ │ │ ├── BadgeSystem.vue │ │ │ └── AvatarCustomizer.vue │ │ └── common/ │ │ ├── GameLayout.vue │ │ └── LoadingSpinner.vue │ ├── views/ │ │ ├── Dashboard.vue │ │ ├── ExerciseView.vue │ │ ├── ProgressView.vue │ │ └── RewardsView.vue │ ├── stores/ │ │ ├── user.ts │ │ ├── exercises.ts │ │ └── progress.ts │ ├── services/ │ │ └── api.ts │ └── router/ │ └── index.ts ├── package.json └── vite.config.ts A. Module Soustractions Composant : SubtractionExercise.vue Niveau 1 : Manipulation visuelle d'objets (drag & drop) Niveau 2 : Droite numérique interactive Niveau 3 : Mode "compléments" avec indices Niveau 4 : Calcul posé avec aide contextuelle B. Module Logique Composant : LogicExercise.vue Suites numériques avec animations Patterns visuels colorés Puzzles adaptatifs Mini-jeux de logique C. Défis Chronométrés Composant : TimedChallenge.vue Tests de 10 minutes comme spécifiés Mode "entraînement" vs "évaluation" Feedback immédiat Système de scores 3. SUIVI DES PROGRÈS Composant : ProgressChart.vue Graphiques de progression par domaine Comparaison avec objectifs Historique des performances Identification automatique des difficultés 4. SYSTÈME DE RÉCOMPENSES Composant : BadgeSystem.vue Badges par compétence (Expert Soustraction, Maître Logique) Système d'étoiles quotidiennes Avatar personnalisable Certificats imprimables 💾 MODÈLE DE DONNÉES User Entity Exercise Entity java @Entity public class User { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String name; // "Aram" private Integer age; // 7 private Double currentLevel; // 46.5 private Integer streak; // jours consécutifs private LocalDate lastActivity; @OneToMany(mappedBy = "user") private List<Progress> progressList; @OneToMany(mappedBy = "user") private List<Reward> rewards; } java Progress Entity 🔧 APIs REST Exercise Controller @Entity public class Exercise { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; @Enumerated(EnumType.STRING) private ExerciseType type; // SUBTRACTION, LOGIC, TIMED @Enumerated(EnumType.STRING) private DifficultyLevel difficulty; // EASY, MEDIUM, HARD private String question; private String correctAnswer; private List<String> hints; private Integer timeLimit; // en secondes private Integer points; } java @Entity public class Progress { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; @ManyToOne private User user; @ManyToOne private Exercise exercise; private Boolean isCorrect; private Integer timeSpent; // en secondes private LocalDateTime completedAt; private Integer hintsUsed; private Double scoreEarned; } Progress Controller java @RestController @RequestMapping("/api/exercises") public class ExerciseController { @GetMapping("/adapted/{userId}") public ResponseEntity<List<Exercise>> getAdaptedExercises( @PathVariable Long userId) { // Retourne exercices adaptés au niveau d'Aram } @PostMapping("/submit") public ResponseEntity<ExerciseResult> submitAnswer( @RequestBody ExerciseSubmission submission) { // Évalue la réponse et met à jour les progrès } @GetMapping("/subtraction/level/{level}") public ResponseEntity<List<Exercise>> getSubtractionByLevel( @PathVariable Integer level) { // Exercices soustractions par niveau de difficulté } } java @RestController @RequestMapping("/api/progress") public class ProgressController { @GetMapping("/user/{userId}/weekly") public ResponseEntity<WeeklyReport> getWeeklyProgress( @PathVariable Long userId) { // Rapport hebdomadaire pour Aram } @GetMapping("/user/{userId}/strengths-weaknesses") public ResponseEntity<SkillAnalysis> analyzeSkills( @PathVariable Long userId) { // Analyse des points forts/faibles } } 🎨 INTERFACE UTILISATEUR Thème Visuel Couleurs principales : Bleu ( #3498db ), Vert ( #27ae60 ), Orange ( #f39c12 ) Mascotte : Robot mathématique "MathBot" Style : Interface ludique avec animations douces Responsive : Tablette et desktop Composants Vue.js Clés Dashboard Component Subtraction Exercise Component typescript <template> <div class="dashboard"> <UserAvatar :user="currentUser" /> <DailyGoals :goals="todayGoals" /> <ProgressRing :percentage="overallProgress" /> <QuickActions :available-exercises="adaptedExercises" /> </div> </template> <script setup lang="ts"> import { ref, onMounted } from 'vue' import { useUserStore } from '@/stores/user' const userStore = useUserStore() const currentUser = ref(userStore.getCurrentUser()) const todayGoals = ref([]) const overallProgress = ref(0) onMounted(async () => { await loadDashboardData() }) </script> typescript 🚀 FONCTIONNALITÉS AVANCÉES 1. IA d'Adaptation Service : AIAdaptationService.java Analyse les erreurs récurrentes d'Aram Adapte automatiquement la difficulté Propose des exercices personnalisés Prédit les domaines à risque 2. Gamification Avancée Système XP : Points d'expérience par domaine Quêtes hebdomadaires : Objectifs motivants Classement virtuel : Progression vs objectifs personnels Événements spéciaux : Défis thématiques 3. Analytics pour Parents Dashboard parental avec insights <template> <div class="subtraction-exercise"> <div class="level-indicator">Niveau {{ currentLevel }}</div> <!-- Niveau 1: Objets visuels --> <div v-if="currentLevel === 1" class="visual-objects"> <DragDropObjects :initial-count="exercise.firstNumber" :to-remove="exercise.secondNumber" @answer="handleAnswer" /> </div> <!-- Niveau 2: Droite numérique --> <div v-if="currentLevel === 2" class="number-line"> <InteractiveNumberLine :start="exercise.firstNumber" :steps="exercise.secondNumber" @answer="handleAnswer" /> </div> <ProgressBar :current="currentExercise" :total="totalExercises" /> <HintButton @click="showHint" :hints-left="hintsRemaining" /> </div> </template> Rapports de progression détaillés Alertes sur difficultés persistantes Suggestions d'activités hors-ligne 4. Mode Hors-ligne Synchronisation des données Exercices téléchargeables Progression sauvegardée localement 📊 MÉTRIQUES ET KPIs Métriques Techniques Temps de réponse API < 200ms Disponibilité 99.9% Temps de chargement page < 2s Métriques Pédagogiques Taux de réussite par exercice Temps moyen par niveau Progression hebdomadaire Engagement quotidien 🔒 SÉCURITÉ ET CONFORMITÉ Sécurité Authentification JWT Chiffrement des données personnelles Validation côté serveur Protection CSRF Conformité RGPD Consentement parental Droit à l'effacement Portabilité des données Minimisation des données collectées 🚢 DÉPLOIEMENT Infrastructure Backend : Docker + Kubernetes Frontend : Nginx + CDN Base de données : PostgreSQL Cache : Redis pour les sessions CI/CD Pipeline 📱 ROADMAP Phase 1 (2 mois) - MVP ✅ Exercices soustractions 4 niveaux ✅ Module logique de base ✅ Système de progression ✅ Dashboard utilisateur yaml # .github/workflows/deploy.yml name: Deploy MathQuest on: push: branches: [main] jobs: test-and-deploy: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - name: Test Backend run: ./mvnw test - name: Test Frontend run: npm run test - name: Build and Deploy run: | docker build -t mathquest-backend . docker build -t mathquest-frontend ./frontend kubectl apply -f k8s/ Phase 2 (1 mois) - Gamification 🎮 Système de récompenses complet 🤖 IA d'adaptation basique 📊 Analytics détaillées Interface parents Phase 3 (1 mois) - Optimisation 📱 Version mobile native 🌐 Mode multi-utilisateurs 🎯 Exercices avancés 🔍 ML pour prédiction difficultés 💰 ESTIMATION COÛTS Développement Backend Spring Boot : 40h de développement Frontend Vue.js : 60h de développement Intégration & Tests : 20h Déploiement : 10h Infrastructure mensuelle Serveur cloud : ~50€/mois Base de données : ~30€/mois CDN & Storage : ~20€/mois Total MVP : ~130h de développement + 100€/mois infrastructure Cette application transformera l'apprentissage d'Aram en une expérience interactive et motivante, avec un suivi précis de ses progrès en soustractions et logique ! - Initial Deployment
about 2 months ago
index.html
Safe
30.5 kB
🎯 Application Math Learning pour Aram Spécifications Techniques - Spring Boot + Vue.js 📋 VUE D'ENSEMBLE Nom de l'application MathQuest Kids - Plateforme d'apprentissage mathématique personnalisée Objectifs Personnaliser l'apprentissage selon les difficultés d'Aram Gamifier les exercices de mathématiques Suivre les progrès en temps réel Motiver par un système de récompenses 🏗 ARCHITECTURE TECHNIQUE Backend - Spring Boot 3.2 Frontend - Vue.js 3 + TypeScript math-learning-backend/ ├── src/main/java/com/mathquest/ │ ├── MathLearningApplication.java │ ├── config/ │ │ ├── SecurityConfig.java │ │ └── WebConfig.java │ ├── controller/ │ │ ├── UserController.java │ │ ├── ExerciseController.java │ │ ├── ProgressController.java │ │ └── RewardController.java │ ├── service/ │ │ ├── UserService.java │ │ ├── ExerciseService.java │ │ ├── ProgressService.java │ │ └── AIAdaptationService.java │ ├── repository/ │ │ ├── UserRepository.java │ │ ├── ExerciseRepository.java │ │ └── ProgressRepository.java │ └── model/ │ ├── User.java │ ├── Exercise.java │ ├── Progress.java │ └── Reward.java ├── src/main/resources/ │ ├── application.yml │ └── data.sql └── pom.xml 🎮 FONCTIONNALITÉS PRINCIPALES 1. DASHBOARD PERSONNALISÉ Vue : Dashboard.vue Avatar d'Aram avec niveau de progression Objectifs du jour Statistiques motivantes (streak, score total) Accès rapide aux exercices adaptés 2. EXERCICES INTERACTIFS math-learning-frontend/ ├── src/ │ ├── components/ │ │ ├── exercises/ │ │ │ ├── SubtractionExercise.vue │ │ │ ├── LogicExercise.vue │ │ │ └── TimedChallenge.vue │ │ ├── progress/ │ │ │ ├── ProgressChart.vue │ │ │ └── WeeklyReport.vue │ │ ├── rewards/ │ │ │ ├── BadgeSystem.vue │ │ │ └── AvatarCustomizer.vue │ │ └── common/ │ │ ├── GameLayout.vue │ │ └── LoadingSpinner.vue │ ├── views/ │ │ ├── Dashboard.vue │ │ ├── ExerciseView.vue │ │ ├── ProgressView.vue │ │ └── RewardsView.vue │ ├── stores/ │ │ ├── user.ts │ │ ├── exercises.ts │ │ └── progress.ts │ ├── services/ │ │ └── api.ts │ └── router/ │ └── index.ts ├── package.json └── vite.config.ts A. Module Soustractions Composant : SubtractionExercise.vue Niveau 1 : Manipulation visuelle d'objets (drag & drop) Niveau 2 : Droite numérique interactive Niveau 3 : Mode "compléments" avec indices Niveau 4 : Calcul posé avec aide contextuelle B. Module Logique Composant : LogicExercise.vue Suites numériques avec animations Patterns visuels colorés Puzzles adaptatifs Mini-jeux de logique C. Défis Chronométrés Composant : TimedChallenge.vue Tests de 10 minutes comme spécifiés Mode "entraînement" vs "évaluation" Feedback immédiat Système de scores 3. SUIVI DES PROGRÈS Composant : ProgressChart.vue Graphiques de progression par domaine Comparaison avec objectifs Historique des performances Identification automatique des difficultés 4. SYSTÈME DE RÉCOMPENSES Composant : BadgeSystem.vue Badges par compétence (Expert Soustraction, Maître Logique) Système d'étoiles quotidiennes Avatar personnalisable Certificats imprimables 💾 MODÈLE DE DONNÉES User Entity Exercise Entity java @Entity public class User { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String name; // "Aram" private Integer age; // 7 private Double currentLevel; // 46.5 private Integer streak; // jours consécutifs private LocalDate lastActivity; @OneToMany(mappedBy = "user") private List<Progress> progressList; @OneToMany(mappedBy = "user") private List<Reward> rewards; } java Progress Entity 🔧 APIs REST Exercise Controller @Entity public class Exercise { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; @Enumerated(EnumType.STRING) private ExerciseType type; // SUBTRACTION, LOGIC, TIMED @Enumerated(EnumType.STRING) private DifficultyLevel difficulty; // EASY, MEDIUM, HARD private String question; private String correctAnswer; private List<String> hints; private Integer timeLimit; // en secondes private Integer points; } java @Entity public class Progress { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; @ManyToOne private User user; @ManyToOne private Exercise exercise; private Boolean isCorrect; private Integer timeSpent; // en secondes private LocalDateTime completedAt; private Integer hintsUsed; private Double scoreEarned; } Progress Controller java @RestController @RequestMapping("/api/exercises") public class ExerciseController { @GetMapping("/adapted/{userId}") public ResponseEntity<List<Exercise>> getAdaptedExercises( @PathVariable Long userId) { // Retourne exercices adaptés au niveau d'Aram } @PostMapping("/submit") public ResponseEntity<ExerciseResult> submitAnswer( @RequestBody ExerciseSubmission submission) { // Évalue la réponse et met à jour les progrès } @GetMapping("/subtraction/level/{level}") public ResponseEntity<List<Exercise>> getSubtractionByLevel( @PathVariable Integer level) { // Exercices soustractions par niveau de difficulté } } java @RestController @RequestMapping("/api/progress") public class ProgressController { @GetMapping("/user/{userId}/weekly") public ResponseEntity<WeeklyReport> getWeeklyProgress( @PathVariable Long userId) { // Rapport hebdomadaire pour Aram } @GetMapping("/user/{userId}/strengths-weaknesses") public ResponseEntity<SkillAnalysis> analyzeSkills( @PathVariable Long userId) { // Analyse des points forts/faibles } } 🎨 INTERFACE UTILISATEUR Thème Visuel Couleurs principales : Bleu ( #3498db ), Vert ( #27ae60 ), Orange ( #f39c12 ) Mascotte : Robot mathématique "MathBot" Style : Interface ludique avec animations douces Responsive : Tablette et desktop Composants Vue.js Clés Dashboard Component Subtraction Exercise Component typescript <template> <div class="dashboard"> <UserAvatar :user="currentUser" /> <DailyGoals :goals="todayGoals" /> <ProgressRing :percentage="overallProgress" /> <QuickActions :available-exercises="adaptedExercises" /> </div> </template> <script setup lang="ts"> import { ref, onMounted } from 'vue' import { useUserStore } from '@/stores/user' const userStore = useUserStore() const currentUser = ref(userStore.getCurrentUser()) const todayGoals = ref([]) const overallProgress = ref(0) onMounted(async () => { await loadDashboardData() }) </script> typescript 🚀 FONCTIONNALITÉS AVANCÉES 1. IA d'Adaptation Service : AIAdaptationService.java Analyse les erreurs récurrentes d'Aram Adapte automatiquement la difficulté Propose des exercices personnalisés Prédit les domaines à risque 2. Gamification Avancée Système XP : Points d'expérience par domaine Quêtes hebdomadaires : Objectifs motivants Classement virtuel : Progression vs objectifs personnels Événements spéciaux : Défis thématiques 3. Analytics pour Parents Dashboard parental avec insights <template> <div class="subtraction-exercise"> <div class="level-indicator">Niveau {{ currentLevel }}</div> <!-- Niveau 1: Objets visuels --> <div v-if="currentLevel === 1" class="visual-objects"> <DragDropObjects :initial-count="exercise.firstNumber" :to-remove="exercise.secondNumber" @answer="handleAnswer" /> </div> <!-- Niveau 2: Droite numérique --> <div v-if="currentLevel === 2" class="number-line"> <InteractiveNumberLine :start="exercise.firstNumber" :steps="exercise.secondNumber" @answer="handleAnswer" /> </div> <ProgressBar :current="currentExercise" :total="totalExercises" /> <HintButton @click="showHint" :hints-left="hintsRemaining" /> </div> </template> Rapports de progression détaillés Alertes sur difficultés persistantes Suggestions d'activités hors-ligne 4. Mode Hors-ligne Synchronisation des données Exercices téléchargeables Progression sauvegardée localement 📊 MÉTRIQUES ET KPIs Métriques Techniques Temps de réponse API < 200ms Disponibilité 99.9% Temps de chargement page < 2s Métriques Pédagogiques Taux de réussite par exercice Temps moyen par niveau Progression hebdomadaire Engagement quotidien 🔒 SÉCURITÉ ET CONFORMITÉ Sécurité Authentification JWT Chiffrement des données personnelles Validation côté serveur Protection CSRF Conformité RGPD Consentement parental Droit à l'effacement Portabilité des données Minimisation des données collectées 🚢 DÉPLOIEMENT Infrastructure Backend : Docker + Kubernetes Frontend : Nginx + CDN Base de données : PostgreSQL Cache : Redis pour les sessions CI/CD Pipeline 📱 ROADMAP Phase 1 (2 mois) - MVP ✅ Exercices soustractions 4 niveaux ✅ Module logique de base ✅ Système de progression ✅ Dashboard utilisateur yaml # .github/workflows/deploy.yml name: Deploy MathQuest on: push: branches: [main] jobs: test-and-deploy: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - name: Test Backend run: ./mvnw test - name: Test Frontend run: npm run test - name: Build and Deploy run: | docker build -t mathquest-backend . docker build -t mathquest-frontend ./frontend kubectl apply -f k8s/ Phase 2 (1 mois) - Gamification 🎮 Système de récompenses complet 🤖 IA d'adaptation basique 📊 Analytics détaillées Interface parents Phase 3 (1 mois) - Optimisation 📱 Version mobile native 🌐 Mode multi-utilisateurs 🎯 Exercices avancés 🔍 ML pour prédiction difficultés 💰 ESTIMATION COÛTS Développement Backend Spring Boot : 40h de développement Frontend Vue.js : 60h de développement Intégration & Tests : 20h Déploiement : 10h Infrastructure mensuelle Serveur cloud : ~50€/mois Base de données : ~30€/mois CDN & Storage : ~20€/mois Total MVP : ~130h de développement + 100€/mois infrastructure Cette application transformera l'apprentissage d'Aram en une expérience interactive et motivante, avec un suivi précis de ses progrès en soustractions et logique ! - Initial Deployment
about 2 months ago
style.css
Safe
388 Bytes
initial commit
about 2 months ago