ExamManager is a comprehensive web-based application designed to streamline the management of students, classes, subjects, examens, grades, and Export student report cards to PDF. This system provides administrators and teachers with tools to manage academic activities efficiently. It features a user-friendly interface, secure data handling, and robust functionality to meet the needs of modern educational institutions.
- Functionality: Registration, login, and role-based access control (administrator, teacher, student).
- Tools Used:
- PHP: Backend logic for user authentication and role management.
- MySQL: Database for storing user credentials and roles.
- Bootstrap: Responsive forms for user registration and login.
- Functionality: Add, edit, and track student information.
- Tools Used:
- PHP: Backend logic for CRUD operations on student data.
- MySQL: Database for storing student records.
- Bootstrap: Responsive forms and tables for managing students.
- Functionality: Organize students into classes and academic fields.
- Tools Used:
- PHP: Logic for managing class data.
- MySQL: Database for storing class and field information.
- Bootstrap: Forms and tables for class management.
- Functionality: Define subjects with coefficients and assign them to specific academic fields.
- Tools Used:
- PHP: Logic for managing subject data.
- MySQL: Database for storing subject details.
- Bootstrap: Forms for adding and editing subjects.
- Functionality: Create, plan, and manage various types of exams.
- Tools Used:
- PHP: Logic for scheduling and managing exams.
- MySQL: Database for storing exam schedules.
- Bootstrap: Calendar and forms for scheduling exams.
- Functionality: Record, calculate, and view student grades.
- Tools Used:
- PHP: Backend logic for managing grades.
- MySQL: Database for storing grades.
- Bootstrap: Tables for displaying grades.
- Functionality: Export student report cards in PDF format.
- Tools Used:
- TCPDF: Library for generating PDF reports.
- PHP: Logic for formatting and exporting data to PDF.
- Functionality: Ensure the application works seamlessly on various devices and screen sizes.
- Tools Used:
- Bootstrap: Grid system and utility classes for responsiveness.
- CSS: Custom styles for hover effects and transitions.
- Functionality: Display notifications for important actions like grade updates, exam schedules, and profile changes.
- Tools Used:
- JavaScript: Dynamic alerts for user feedback.
- Bootstrap: Styled alert components.
π Home Page - The landing page of the application, providing navigation options for login, registration, or accessing the dashboard based on user roles.
| Login Page | Registration Page |
|---|---|
![]() |
![]() |
| π Login Page β Secure login for administrators, teachers, and students. | π Registration Page β Allows students to register with their details. |
π Admin Dashboard - Manage students, exams, grades, and academic workflows from a centralized interface.
π Registration Requests - View and validate pending student registrations.
π©βπ Student Management - Add, edit, delete, and manage student profiles.
π« Class Management - Organize students into classes and academic fields.
π Subject Management - Define subjects and assign them to specific academic fields.
π
Exam Management - Schedule exams, assign classes, and manage exam details.
π Grade Management - Record, edit, and view student grades.
π Reports - Generate and download student performance reports in PDF format.
| Student Report |
|
| π Example of Report β A sample student performance report that can be generated and downloaded in PDF format. |
- Creating a flexible database schema to handle different types of exams, grading systems, and academic structures was challenging. A relational design was implemented to maintain relationships between students, classes, subjects, and exams while allowing future scalability.
- Implementing secure authentication with role-based access control required careful planning. A system was created to manage three distinct roles (administrator, teacher, student) with appropriate permissions for each.
- Producing professional PDF reports with clean layouts, tables, and charts was technically complex. The TCPDF library was used, and custom templates were created to generate well-formatted report cards.
- Ensuring the application works well on various devices and screen sizes required applying responsive design principles. Bootstrap 5 and custom CSS styles were used to create a mobile-friendly interface.
-
π₯ Clone the repository to your machine or download the ZIP files:
git clone https://github.com/<your-username>/<repo-name>.git -
π Navigate to the project folder and open it in Visual Studio Code:
cd <repo-name> && code . -
π¦ Configure the Database:
- Import the dbs.sql file located in the config folder into your MySQL server.
- Update the database connection details in config/connection.php.
-
π Start a local server:
- Place the project in the root folder of your local server (e.g., htdocs for XAMPP).
- Access the application via http://localhost/.
-
π¦ Install Dependencies:
- Ensure you have Composer installed.
- Run the following command to install the required libraries:
composer install
We welcome and appreciate all contributions! Whether you're fixing bugs, adding new features, or improving documentation, your input helps make this project better.
To contribute:
Fork the repository and create your branch from main. Ensure your code follows the existing style and conventions. Submit a clear and descriptive pull request. If you discover a bug or have a feature request, please open an issue with detailed information to help us understand and address it quickly.
If you find this project helpful, please consider giving it a β on GitHub β it really motivates me to keep improving and adding new features! Your support is truly appreciated! π
- π§ Email: [email protected]
- π GitHub: Bouglace Marouane
- π LinkedIn: Marouane Bouglace Linkedin


