Plateforme fullstack moderne permettant à des apprenants de suivre des défis d'apprentissage quotidiens, à des professeurs de créer des devoirs avec délai de soumission, et à un administrateur de superviser l'ensemble.
- Frontend: React.js (Create React App), JavaScript, Tailwind CSS, Framer Motion
- Backend: Laravel 12 (API REST)
- Base de données: MySQL
- Authentification: Laravel Sanctum
- Gestion d'état: Context API
- Appels API: Axios
- Internationalisation: i18n (Français/Anglais)
Design minimaliste et épuré inspiré d'Apple avec :
- Espaces généreux
- Bordures arrondies (
rounded-xl) - Effets de transparence subtils
- Micro-interactions avec Framer Motion
- Palette de couleurs : Turquoise/Cyan (#00C2CB) comme couleur primaire
- Création de challenges personnalisés
- Soumission de rapports quotidiens avant 23h59
- Suivi de progression avec statistiques
- Visualisation des rapports soumis
- Création d'événements avec code unique
- Partage de liens pour les étudiants
- Visualisation des soumissions
- Téléchargement des fichiers soumis
- Statistiques globales de la plateforme
- Liste des utilisateurs
- Vue d'ensemble de l'activité
- PHP 8.2+
- Composer
- Node.js 18+
- MySQL
cd backend
composer install
cp .env.example .env
php artisan key:generate
php artisan migrate
php artisan serveLe backend sera accessible sur http://localhost:8000
cd frontend
npm install
npm startLe frontend sera accessible sur http://localhost:3000
Créez un fichier .env dans le dossier frontend avec :
REACT_APP_API_URL=http://localhost:8000/api
Nova+/
├── backend/ # API Laravel
│ ├── app/
│ │ ├── Http/Controllers/API/
│ │ └── Models/
│ ├── database/migrations/
│ └── routes/api.php
├── frontend/ # Application React
│ ├── src/
│ │ ├── components/ # Composants réutilisables
│ │ ├── contexts/ # Context API (Auth, Language)
│ │ ├── pages/ # Pages de l'application
│ │ ├── config/ # Configuration (Axios)
│ │ ├── i18n/ # Traductions
│ │ └── utils/ # Utilitaires
│ └── public/
└── README.md
L'authentification utilise Laravel Sanctum. Les tokens sont stockés dans le localStorage du navigateur.
L'application supporte le Français et l'Anglais. Le sélecteur de langue est disponible dans la barre de navigation.
- Soumission de rapports: Les rapports doivent être soumis avant 23h59 (heure locale). La vérification est effectuée côté backend.
- Calcul du score: Le taux de réussite = (jours valides / durée totale) × 100
- Événements: Les soumissions sont désactivées après la date limite
Pour tester l'application :
- Créez un compte avec le rôle "Étudiant" ou "Autre"
- Créez un challenge
- Soumettez des rapports quotidiens
- Créez un compte "Professeur" pour créer des événements
- Utilisez le code unique pour accéder aux événements
- Email: contact.fulbert@gmail.com
- Téléphone: +228 99792179
Ce projet est un MVP développé pour des besoins éducatifs.