Skip to content

ExamManager is a web app for managing students, classes, exams, and grades. It allows administrators and teachers to easily handle academic tasks and export student report cards to PDF.

Notifications You must be signed in to change notification settings

BouglaceMarouane/Application-Gestion-Examen

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸŽ“ ExamManager – School Exam Management System

✨ Project Description :

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.

πŸ”§ Features and Tools Used :

1. User Management

  • 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.

2. Student Management

  • 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.

3. Class Management

  • 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.

4. Subject 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.

5. Exam Scheduling

  • 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.

6. Grade Management

  • 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.

7. PDF Report Generation

  • 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.

8. Responsive Design

  • 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.

9. Notifications and Alerts

  • 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.

πŸ“· Screenshots :

1. Home Page

Home Page
🏠 Home Page - The landing page of the application, providing navigation options for login, registration, or accessing the dashboard based on user roles.


2. Login & Registration Pages

Login Page Registration Page
Login Page Registration Page
πŸ”‘ Login Page – Secure login for administrators, teachers, and students. πŸ“ Registration Page – Allows students to register with their details.

3. Admin Dashboard

Admin Dashboard
πŸ“Š Admin Dashboard - Manage students, exams, grades, and academic workflows from a centralized interface.


4. Registration Requests

Student Requests
πŸ“‹ Registration Requests - View and validate pending student registrations.


5. Student Management

Student Management
πŸ‘©β€πŸŽ“ Student Management - Add, edit, delete, and manage student profiles.


6. Classes Management

Class Management
🏫 Class Management - Organize students into classes and academic fields.


7. Subjects Management

Subject Management
πŸ“š Subject Management - Define subjects and assign them to specific academic fields.


8. Exams Management

Exam Management
πŸ“… Exam Management - Schedule exams, assign classes, and manage exam details.


9. Grade Management

Grade Management
πŸ“ˆ Grade Management - Record, edit, and view student grades.


10. PDF Report Generation

Reports
πŸ“‹ Reports - Generate and download student performance reports in PDF format.


11. Student Report

Student Report
Reports
πŸ“‹ Example of Report – A sample student performance report that can be generated and downloaded in PDF format.

🚧 Challenges Faced :

1. Database Design

  • 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.

2. User Authentication

  • 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.

3. PDF Report Generation

  • 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.

4. Responsive Design

  • 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.

πŸ› οΈ Technologies Used :

HTML CSS Bootstrap JavaScript PHP MySQL TCPDF


βš™οΈ Installation Steps :

  1. πŸ“₯ Clone the repository to your machine or download the ZIP files:

    git clone https://github.com/<your-username>/<repo-name>.git
    
  2. πŸ“‚ Navigate to the project folder and open it in Visual Studio Code:

    cd <repo-name> && code .
    
  3. πŸ“¦ 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.
  4. 🌐 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/.
  5. πŸ“¦ Install Dependencies:

    • Ensure you have Composer installed.
    • Run the following command to install the required libraries:
    composer install
    

🀝 Contribute :

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.


⭐ Support :

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! πŸš€


πŸ“¬ Stay in Touch:

About

ExamManager is a web app for managing students, classes, exams, and grades. It allows administrators and teachers to easily handle academic tasks and export student report cards to PDF.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published