Un système de gestion des émargements des enseignants basé sur Laravel 11 (backend) et Nuxt 3.15.4 (frontend).
ESGIS Presencia est une application web moderne conçue pour automatiser et optimiser la gestion des présences des enseignants. Elle garantit une meilleure transparence et réduit les erreurs humaines liées au suivi des heures de cours.
| Côté | Technologie |
|---|---|
| Backend & Frontend | Laravel 11 (PHP 8.2) |
| Base de données | MySQL |
| Authentification | Laravel Sanctum |
| Stylisation | Tailwind CSS |
/autopark-manager
|──/app # API Laravel 11 (Backend & frontend)
│── README.md # Documentation du projet
- Les enseignants peuvent marquer leur présence (début et fin du cours).
- Le système détecte les absences et envoie des notifications.
- Les administrateurs peuvent valider ou rejeter les justifications des absences.
- Génération de rapports individuels et par module.
- Exportation des rapports en PDF/CSV.
- Rappels automatiques aux enseignants.
- Alertes administratives en cas d’anomalie.
- Gestion des utilisateurs et rôles (RBAC).
- Authentification forte (2FA, JWT).
- Journalisation des actions (traçabilité).
- PHP 8.2+, Composer, MySQL/PostgreSQL
# Aller dans le dossier backend
cd backend
# Installer les dépendances
composer install
# Configurer les variables d'environnement
cp .env.example .env
php artisan key:generate
# Configurer la base de données (.env)
php artisan migrate --seed # Lancer les migrations et insérer les données initiales
# Démarrer le serveur Laravel
php artisan serve- Node.js 18+, npm ou yarn
# Aller dans le dossier frontend
cd frontend
# Installer les dépendances
npm install # ou yarn install
# Démarrer le serveur Nuxt
npm run dev # ou yarn dev🌐 L’application sera accessible sur http://localhost:3000
- Laravel Sanctum pour l'authentification API.
- JWT Tokens pour sécuriser les accès.
- Gestion des rôles et permissions (Admin, Enseignant, Superviseur).
Après avoir démarré le backend, accède à la documentation API avec Swagger :
📜 http://localhost:8000/api/documentation
Vérifie que les variables suivantes sont bien configurées dans le backend (.env) :
APP_NAME=ESGIS_Presencia
APP_ENV=local
APP_KEY=base64:xxxxxxxxxxxxxxxxxx
APP_DEBUG=true
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=esgis_presencia
DB_USERNAME=root
DB_PASSWORD=
Pour le frontend (.env) :
NUXT_PUBLIC_API_BASE=http://localhost:8000/api
NUXT_PUBLIC_AUTH_TOKEN=
Si tu souhaites exécuter l’ensemble du projet avec Docker, utilise :
# Lancer la stack complète (backend + frontend + base de données)
docker-compose up -d💡 Contributions bienvenues ! Suis ces étapes :
- Fork le projet 📌
- Crée une branche (
git checkout -b feature-nouvelle-fonctionnalité) - Fais tes modifications et commits (
git commit -m "Ajout d'une nouvelle fonctionnalité") - Pousse ta branche (
git push origin feature-nouvelle-fonctionnalité) - Ouvre une Pull Request 🚀
📌 Ce projet est sous licence MIT.
🔗 Développé par l’équipe ESGIS 🚀 🔥