IronSchool is a School Management System that helps manage students, teachers and courses with basic functionalities.
Check our Application Guide on how to use it.
- Java (v19)
- Oracle OpenJDK (v19.0.1)
- Maven (v4.0.0)
- JUnit (v4.13.2)
- No installs required (check how to Run Locally)
- Runs in terminal
- Browsable management options
- Creation of records through terminal input
Clone the project
git clone https://github.com/PoderComputacional/ironschool
Install dependencies locally thorugh Maven and run project.
Ironschool is an application that helps schools to manage their day-to-day by organizing the enrollment of students, assignment of teaching staff and creation of courses, as well as to keep track of the revenue and expenses both at a school level and at the course level.
How it works:
When running the application, it will prompt you to go through the necessary steps to create
a school profile as well as require you to input how many instances of courses
, teachers
and students
you want to create.
Once you fill in the required parameters for each instance, you will get visual confirmation of the data registered. Here is an example of the visualization after creating a teacher profile:
Teacher 1 name: Name Surname
Teacher 1 email: name@ironschool.com
Teacher 1 address: Test Blv. 01, City
Teacher 1 salary: 00.000
After completing the setup and creating all profiles for students, teachers and courses, the management menu will be automatically called in the terminal:
Enter command:
1) Enroll
2) Assign
3) Show
4) Lookup
5) Profit
6) Exit
Each option works as follows:
[Enroll]
Allows you to enroll a student
into a course
. It requires entering both the id
of the student and the course.
Enrolling a student in a course will automatically update the student profile, setting isEnrolled
to true and adding the course to its courses
.
Likewise, the course information will be updated to include the student in its enrollment list, and the courseRevenue
will be recalculated.
[Assign]
Allows you to assign a teacher
to a course
. It requires entering both the id
of the teacher and the course.
Assigning a teacher to a course will automatically update the teacher profile, setting isAssigned
to true and adding the course to its courses
.
Likewise, the course information will be updated to include the teacher.
The application allows assignment of a teacher to multiple courses.
[Show]
Allows you to select courses
, teachers
or students
and returns a list of all elements in that category.
[Lookup]
Allows you to see the information stored for any given course, teacher or student.
It requires selecting whether you want to lookup a course
, teacher
or student
and providing their id
.
[Finance]
Allows you to check the current school revenue, expenses and profit.
schoolProfit
is calculated substracting expenses (the sum of all teacher salaries) from revenue (the sum of the revenue of each course, calculated as price of course per student enrolled).