This is a School Management System web application designed to manage professors, students, absences, marks, and timetables. The system provides separate views for Professors and Students, allowing them to access relevant information and perform specific actions.
- Manage Professors: Add, edit, and delete professors.
- Manage Students: Add, edit, and delete students.
- Manage Absences: Add, edit, and delete student absences.
- Manage Marks: Add, edit, and delete student marks.
- Manage Timetable: Add, edit, and delete timetable entries.
- View assigned classes.
- View and update student marks.
- View and update student absences.
- View timetable.
- View personal marks.
- View personal absences.
- View timetable.
- Backend: Java Servlets, JDBC
- Frontend: HTML, CSS, JSP
- Database: MySQL
- Build Tool: Maven
- Java Development Kit (JDK): Ensure JDK 8 or higher is installed.
- Apache Tomcat: Install Tomcat 9 or higher to run the application.
- MySQL Database: Install MySQL and create a database for the application.
- Maven: Install Maven to build the project.
-
Create a MySQL database named
school_management. -
Create the following tables in the database:
- User: Stores user information (email, password, role).
- Professor: Stores professor details (user ID, first name, last name, CNI, employment date, salary).
- Student: Stores student details (user ID, first name, last name, CNE, study level, status, birthday).
- Class: Stores class information (name, professor ID, year).
- Absence: Stores student absences (student ID, class ID, date, justified status).
- Marks: Stores student marks (student ID, class ID, mark).
- Timetable: Stores timetable entries (time slot, Monday to Friday classes).
-
Update the
DatabaseUtil.javafile with your MySQL credentials:
public class DatabaseUtil {
private static final String URL = "jdbc:mysql://localhost:3306/school_management";
private static final String USER = "your_mysql_username";
private static final String PASSWORD = "your_mysql_password";
public static Connection getConnection() throws SQLException {
return DriverManager.getConnection(URL, USER, PASSWORD);
}
}Build and Run the Application Clone the repository:
git clone https://github.com/PasDouey/JEE.gitNavigate to the project directory
Build the project using Maven:
mvn clean installDeploy the generated .war file to your Tomcat server.
Start the Tomcat server and access the application at:
http://localhost:8080/school-management-system
Usage Admin Dashboard Access the admin dashboard at /admin-dashboard.
Use the navigation menu to manage professors, students, absences, marks, and timetables.
Professor View Professors can log in to view their assigned classes, update student marks, and manage absences.
Student View Students can log in to view their marks, absences, and timetable.
Contact For questions or feedback, please contact:


