Git Product home page Git Product logo

ironschool's Introduction

IronSchool

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.

Tech Stack

  • Java (v19)
  • Oracle OpenJDK (v19.0.1)
  • Maven (v4.0.0)
  • JUnit (v4.13.2)

Authors

Features

  • No installs required (check how to Run Locally)
  • Runs in terminal
  • Browsable management options
  • Creation of records through terminal input

Run Locally

Clone the project

  git clone https://github.com/PoderComputacional/ironschool

Install dependencies locally thorugh Maven and run project.

Application Guide

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:

1. Setup

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: [email protected]
Teacher 1 address: Test Blv. 01, City
Teacher 1 salary: 00.000

2. Management

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

Class Diagram

DiagramClasses.jpg

ironschool's People

Contributors

0xnordian avatar dga80 avatar estelcm avatar jordi92al avatar marnamrs avatar

Forkers

dga80 jordi92al

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.