The system stores student information on a cloud based database from which the data can be remotely accessed or edited using a java based client.
A comprehensive solution for schools to track classes, instructor, and student information. Includes a Java platform independent application for the management of all critical facets of educational institutional operations, ensuring streamlined workflows and improved productivity. The main features are as follows:
- Create/Edit subjects with scheduled sections
- Add/Edit instructors and students
- Assign instructors to sections
- Instructors can create custom marked items for each section
- Enrol students in class sections
- Automatic performance reports are generated for sections, students, and instructors
The functional goal of the system is to allow users to access and edit student data at which point the data are validated and transferred to a secure storage medium. From there the data should be accessible for real-time analysis.
The system consists of java based client running on a workstation, and a database used as data storage medium which is accessed through internet or LAN for editing or analysis purposes by various users with defined privileges.
Further detailed inner working of the java based client application are shown along with the database and the data analysis medium.
Detailed diagram of the database tables used to store student data.
Below are shown a series of sample screenshots of the java based client application with sample data included.
![]()
- Installation
- Features
- Usage
- Contributing
- License
- Authors and Acknowledgments
- Contact Information
- Badges
- Changelog
- FAQ
Follow these steps to set up and run the Java application with a MySQL database:
-
Java Development Kit (JDK): Ensure you have JDK installed. You can download it from here.
-
MySQL Database: Install MySQL Server. You can download it from here.
-
Maven: Ensure you have Maven installed for managing the project dependencies. You can download it from here.
-
Clone the Repository:
git clone https://github.com/phancak/Student-Information-Tracking-System-Java-Client.git cd repo -
Set Up MySQL Database:
- Start the MySQL server.
- Create a new database:
CREATE DATABASE School;
- Create a new 'root' user with pass '12345678' and grant necessary privileges if it does not already exist:
CREATE USER 'root'@'localhost' IDENTIFIED BY '12345678'; GRANT ALL PRIVILEGES ON School.* TO 'root'@'localhost'; FLUSH PRIVILEGES;
- Run 'School_Init.sql' to setup database tables, procedures, and views
- Run 'School_Init.sql' to initialize the database with sample data
-
Configure the Application:
- Update the
application.properties(orapplication.ymlif you're using YAML) file with your MySQL database configuration:spring.datasource.url=jdbc:mysql://localhost:3306/my_database spring.datasource.username=my_user spring.datasource.password=my_password spring.jpa.hibernate.ddl-auto=update
- Update the
-
Build the Project:
- Navigate to the project directory and build the project using Maven:
mvn clean install
- Navigate to the project directory and build the project using Maven:
-
Run the Application:
- Run the Java application:
mvn spring-boot:run
- Run the Java application:
-
Instructor Management
- Create and manage instructor profiles including their personal information, specialization, and educational background.
-
Subject Management
- Create and manage subjects including subject names, numbers, and descriptions.
-
Student Management
- Add and manage student profiles including personal information and high school average.
-
Section Management
- Create and manage sections for subjects, including the start and end times, room, and days of the week.
- Assign instructors to sections.
-
Enrollment Management
- Enroll students into sections.
- Automatically enroll students in random sections based on specified criteria.
-
Graded Item Management
- Create and manage graded items for each section, including titles, descriptions, and dates.
-
Grade Book
- Generate and manage a grade book that combines graded items with student enrollments.
- Populate grade books with randomly generated grades based on statistical models.
-
Procedures and Views
- Utilize stored procedures for complex operations like enrollment initialization, grade book population, and generating graded item averages.
- Access detailed information on sections, instructors, and subjects through views.
-
Data Integrity and Constraints
- Ensure data integrity with primary keys, foreign keys, and check constraints.
- Cascade updates and deletes to maintain consistent data relationships.
This section provides detailed instructions on how to use the School Management System application. The application allows users to manage various aspects of a school's operations, including students, instructors, subjects, sections, enrollment, and graded items.
-
Start the MySQL Server
- Ensure that your MySQL server is running. If it's not, start it using the appropriate command for your operating system.
-
Run the Java Application
- Open your terminal or command prompt.
- Navigate to the directory where your Java application JAR file is located.
- Execute the following command to run the application:
java -jar schoolApp.jar
Once the application is running, you will see a database login window. Enter the login credentials and the main dashboard will open. Here, you can navigate to different sections of the application.
View Students:
- Go to the "Students" tab.
- The list of students enrolled in the institution will be displayed. You can click on individual students for more personal information and their class enrolment.
Add a New Student to institution:
- Go to the "Students" tab.
- Click on the "New Student" button.
- Fill in the required details (First Name, Last Name, Date of Birth, Home Town, Home Country, High School Average).
- Click "Add Student".
Edit/Remove Existing Student:
- Go to the "Students" tab.
- Click on the "Remove Student" or "Edit" button.
View Instructors:
- Go to the "Instructors" tab.
- The list of available instructors will be displayed.
Add a New Instructor:
- Go to the "Instructors" section.
- Click on the "Add Instructor" button.
- Fill in the required details (First Name, Last Name, Date of Birth, Specialization, Education).
- Click "Save".
Edit/Remove Existing Instructor:
- Go to the "Instructors" tab.
- Click on the "Remove Instructor" or "Edit" button.
Subjects are managed in the same way as students and instructors. A subject must be created first before a section can be scheduled for it.
View Sections:
- Go to the "Sections" tab.
- The list of sections will be displayed.
View Section Enrolment:
- Go to the "Sections" tab.
- Click on "View Enrolment" button
- The list of students enrolled in the section will be displayed.
Add/Edit/Remove a Section:
- Go to the "Sections" tab.
- Click on the "New Section", "Edit Section", or "Remove Section" button.
- Go to the "Enrollment" section.
- Select a section from the dropdown menu.
- Choose a student to enroll from the list.
- Click "Enroll".
Add a New Graded Item:
- Go to the "Graded Items" section.
- Click on the "Add Graded Item" button.
- Fill in the required details (Title, Description, Date).
- Click "Save".
View Graded Items:
- Go to the "Graded Items" section.
- The list of graded items will be displayed.
- Go to the "Grade Book" section.
- Select a section to view its graded items and students.
- Enter grades for each student and graded item.
- Click "Save" to update the grades.
- Go to the "Reports" section.
- Select the type of report you want to generate (e.g., Student Grades, Section Averages).
- Click "Generate Report".
For advanced users, the application provides options to directly interact with the database for tasks like bulk imports, exports, and custom queries.
Database Backup:
- Go to the "Database" section.
- Click "Backup".
Custom SQL Queries:
- Go to the "SQL" section.
- Enter your SQL query.
- Click "Execute".
If you encounter any issues or need assistance, refer to the "Help" section within the application. You can also contact our support team via email at support@example.com.
With these instructions, you should be able to effectively navigate and use the School Management System application. If you have any questions or feedback, please do not hesitate to reach out.
Guidelines for contributing to the project.
This project is licensed under the MIT License.
- Author Name - Initial work
- Contributor Name - Additional contributions
For any inquiries, please contact your-email@example.com.
- v1.0.0 - Initial release
Q: How do I set up the project?
A: Follow the installation instructions above.