e-Gestion is a comprehensive web-based management system designed for educational and training institutions. It streamlines the administration of courses, trainers, trainees, and schedules through an intuitive and modern interface.
e-Gestion provides a complete solution for managing training centers and educational institutions. The system supports three distinct user roles with tailored functionalities:
- Trainer Management (Formateurs): Manage trainer profiles, assign modules, and send login credentials
- Trainee Management (Stagiaires): Handle trainee registration, profile management, and access control
- Course Structure: Create and organize filieres (specializations), modules, and groups
- Schedule Management (Emplois): Create, update, and distribute timetables
- User Administration: Manage system users and role assignments
- Course Materials (Cours): Upload and manage course content
- Exercises (Exercices): Create and distribute exercises to trainees
- Schedule Access: View assigned teaching schedules
- Personal Dashboard: Track assigned modules and groups
- Learning Resources: Access course materials and exercises
- Schedule Viewing: Check class timetables
- Personal Dashboard: Monitor academic progress and assignments
The platform features a role-based access control system ensuring that each user type has appropriate permissions and sees only relevant information for their role.
- Laravel 10 - PHP web application framework
- Laravel Sanctum - API authentication
- Spatie Laravel Permission - Role and permission management
- Inertia.js - Server-side routing with client-side rendering
- React 18 - JavaScript library for building user interfaces
- Inertia.js React Adapter - React adapter for Inertia.js
- Tailwind CSS - Utility-first CSS framework
- Flowbite & Flowbite React - UI component library
- Headless UI - Unstyled, accessible UI components
- Redux Toolkit - State management
- Heroicons & React Icons - Icon libraries
- Vite - Frontend build tool
- PHP ^8.1
- Composer
- Node.js & npm
- MySQL/PostgreSQL or other supported database
- Clone the repository:
git clone https://github.com/OtmaneTouhami/e-Gestion.git
cd e-Gestion- Install PHP dependencies:
composer install- Install JavaScript dependencies:
npm install- Create environment file:
cp .env.example .env- Generate application key:
php artisan key:generate-
Configure your database in the
.envfile -
Run migrations:
php artisan migrateStart the Laravel development server:
php artisan serveIn a separate terminal, start the Vite development server:
npm run devThe application will be available at http://localhost:8000
Compile assets for production:
npm run build- Role-Based Access Control: Separate interfaces for administrators, trainers, and trainees
- Document Management: Upload, manage, and download course materials and exercises
- Schedule Management: Create and distribute timetables with PDF export functionality
- User Management: Automated credential generation and email distribution
- Module Assignment: Flexible assignment of trainers to modules and specializations
- Modern UI/UX: Responsive design with a clean, intuitive interface
- Real-time Updates: Seamless page transitions with Inertia.js
This project is open-sourced software licensed under the MIT license.