aganmo

BRANDING - RAVEN STUDIO

Star SCHOOL MANAGEMENT
SYSTEM Star

YEAR

2023

CLIENT

ISM

SERVICES

DESKTOP APPLICATION & DATABASE MANAGEMENT

PROJECT

SCHOOL MANAGEMENT SYSTEM

📂 JAVA FULL SOURCE CODE

Description

School Management System is a JavaFX desktop application developed for ISM (Institut Supérieur de Management) to manage student enrollments. 

The Educational Manager can create and list classes, add teachers, assign them to classes, and filter them by class. Class Assistants are responsible for registering and re-enrolling students, ensuring each student can only register once per academic year. Assistants can also list students by year and filter the list by class, making the enrollment process more efficient and organized.

Download the full project here

PROJECTS COMPONENTS DEFINITION

  • Views Package: Contains the views of the application, implemented via fxml.
  • Services Package: Includes the core functionalities (use cases) of the application.
  • Repositories Package: Represents the persistence layer and manages database access.
  • Entities Package: Contains the model classes of the application.

·  Layered Architecture: The system is built with a clean separation of concerns, following a layered architecture

PROJECT ACHITECTURE

REQUIREMENTS

DATABASE CONNECTION USING JDBC

To connect to a database, you need JDBC (Java DataBase Connectivity), which varies depending on the DBMS. JDBC is an API created by Sun Microsystems that uses a JDBC driver to access databases.

Installation and Execution Steps:

  1. Download the JAR file.
  2. Add it to the lib folder.
  3. Load the JDBC driver (for MySQL).

MAVEN

What is MAVEN?

  • Maven is a built automation tool.
  • Maven is a tool that helps us create projects easily.

What is built?

  • Creating, adding, compiling, testing and deploying a project. All of these combined are called a Built.
  • Since maven is “built” automation tool, it helps us automate all of these steps.

Similar tools like Maven?

  • ant
  • gradle
  • kotlin 

Most important file in a Maven project?

  • pom.xml is the most important file in a Maven project.

To install maven, follow the documentation

JavaFX

JavaFX is the latest generation of libraries for creating high-quality graphical user interfaces for Java desktop, mobile, and web applications. Introduced with Java 8 in March 2014, it became the official GUI library for Java. Its predecessor, Swing, is no longer actively developed (except for bug fixes).

To use it, we have to install Scene Builder, it’s an interactive GUI design tool for JavaFX, created by Oracle. It allows developers to quickly build user interfaces without writing code. You can download here

A JavaFX application is built using a hierarchy of components:

  • Stage: Represents the main window and displays a scene.
  • Scene: Contains all elements to be shown in the application, organized hierarchically.
  • Graphic Components: These include user controls (e.g., Label, TextField), shapes (Circle, Rectangle), media (ImageView), and charts (PieChart, BarChart).
  • Layouts: Used for arranging components, such as BorderPane, HBox, VBox, and GridPane, ensuring proper positioning and alignment in the UI.