Skip to content

Repository files navigation

EduAI - Application d'assistance éducative pour parents

Application Next.js full-stack qui aide les parents à accompagner leurs enfants dans leurs devoirs grâce à l'IA (Claude 3.5 Sonnet via OpenRouter).

🚀 Fonctionnalités

  • Authentification Supabase : Inscription/Connexion par email et Google OAuth
  • Gestion multi-enfants : Ajout et suivi de plusieurs enfants
  • Questionnaire intelligent : Collecte des informations (âge, classe, matière, difficultés)
  • Génération de plans IA : Plans d'apprentissage personnalisés via Claude 3.5 Sonnet
  • Dashboard parent : Vue d'ensemble des enfants et historique des plans
  • Multilingue : Support de 13 langues avec traduction automatique de l'interface
  • Export de plans : Téléchargement, impression et partage

📋 Prérequis

  • Node.js 18+ et npm
  • Compte Supabase
  • Compte OpenRouter avec crédits
  • Compte Vercel (pour déploiement)

🛠️ Installation

1. Installer les dépendances

npm install

2. Configurer Supabase

  1. Créer un projet sur supabase.com
  2. Aller dans Settings > API
  3. Copier Project URL et anon public key
  4. Aller dans SQL Editor et exécuter le fichier supabase/schema.sql
  5. Activer Google OAuth dans Authentication > Providers (optionnel)

3. Configurer OpenRouter

  1. Créer un compte sur openrouter.ai
  2. Ajouter des crédits (Claude 3.5 Sonnet ~$3/M tokens)
  3. Générer une clé API dans Keys

4. Variables d'environnement

Créer un fichier .env.local à la racine :

# Supabase
NEXT_PUBLIC_SUPABASE_URL=your_supabase_project_url
NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key

# OpenRouter
OPENROUTER_API_KEY=your_openrouter_api_key

# Site URL
NEXT_PUBLIC_SITE_URL=http://localhost:3000

5. Lancer en développement

npm run dev

Accéder à http://localhost:3000

📦 Structure du projet

eduai/
├── app/
│   ├── api/
│   │   ├── generate-plan/      # API génération de plans
│   │   └── translate/           # API traduction
│   ├── auth/                    # Pages authentification
│   ├── dashboard/               # Dashboard parent
│   ├── plan/[id]/              # Affichage plan
│   ├── questionnaire/          # Formulaire multi-étapes
│   ├── layout.tsx
│   ├── page.tsx                # Landing page
│   └── globals.css
├── components/
│   ├── dashboard/              # Composants dashboard
│   ├── plan/                   # Composants affichage plan
│   ├── questionnaire/          # Composants questionnaire
│   └── ui/                     # Composants UI (shadcn)
├── lib/
│   ├── supabase/               # Configuration Supabase
│   ├── stores/                 # Stores Zustand
│   ├── constants/              # Constantes (matières, etc.)
│   ├── translation.ts          # Système traduction
│   └── utils.ts
├── supabase/
│   └── schema.sql              # Schéma base de données
├── middleware.ts               # Middleware auth + langue
├── package.json
└── README.md

🗄️ Schéma base de données

Tables Supabase

  • profiles : Profils utilisateurs avec langue préférée
  • children : Informations enfants (nom, âge, classe)
  • sessions : Plans générés avec historique

Toutes les tables ont Row Level Security (RLS) activé.

🌍 Langues supportées

Français, Anglais, Espagnol, Allemand, Italien, Portugais, Chinois, Japonais, Coréen, Arabe, Russe, Néerlandais, Polonais

La traduction de l'interface se fait dynamiquement via l'API avec mise en cache localStorage.

🚢 Déploiement sur Vercel

  1. Push le code sur GitHub
  2. Importer le projet sur vercel.com
  3. Configurer les variables d'environnement dans Vercel
  4. Déployer

Mettre à jour NEXT_PUBLIC_SITE_URL avec l'URL de production.

📝 Utilisation

  1. Inscription : Créer un compte avec email ou Google
  2. Ajouter un enfant : Renseigner nom, âge, classe
  3. Créer un plan : Répondre au questionnaire (enfant, matière, difficultés)
  4. Consulter le plan : Plan d'apprentissage personnalisé avec exercices et conseils
  5. Suivre la progression : Historique des plans dans le dashboard

🔧 Technologies utilisées

  • Frontend : Next.js 14 (App Router), React, TypeScript, Tailwind CSS
  • UI : Shadcn/ui (Radix UI + CVA)
  • State : Zustand
  • Backend : Next.js API Routes
  • Database : Supabase (PostgreSQL)
  • Auth : Supabase Auth
  • IA : Claude 3.5 Sonnet (OpenRouter)
  • Déploiement : Vercel

🤝 Contribution

Ce projet est en développement actif. Les contributions sont bienvenues !

📄 Licence

MIT

👨‍💻 Auteur

Développé avec ❤️ pour aider les parents et les enfants à réussir ensemble.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages