Skip to content

A JavaFX desktop app that helps students choose suitable institutions and majors based on their academic profile in Morocco. Uses MySQL for data storage.

Notifications You must be signed in to change notification settings

Alae-J/JavaFX-Student-Advisor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

25 Commits
Β 
Β 
Β 
Β 

Repository files navigation

πŸŽ“ JavaFX Student Advisor

A JavaFX desktop application that helps students find the most suitable institutions and majors based on their academic profile and admission criteria.


πŸ“Œ Project Overview

This was developed as part of an academic project to practice Java, JavaFX, and MySQL integration. The application allows students to browse institutions, explore available programs, and evaluate their eligibility based on personalized conditions.


βš™οΈ Technologies Used

  • Language: Java
  • GUI Framework: JavaFX
  • Database: MySQL
  • Tools: IntelliJ IDEA / Eclipse, MySQL Workbench, Git & GitHub

πŸ—‚οΈ Project Structure

The codebase is organized into clear packages:

πŸ”Ή MainClassesPackage – Core Models

  • Institution.java
  • Filiere.java
  • Etudiant.java (abstract)
  • EtudiantPrepa.java
  • EtudiantParallele.java
  • Matiere.java

πŸ”Ή BD – Database Handling

  • DatabaseConnection1.java
  • DatabaseTablesToObjects.java
  • ObjectInOutFile.java

πŸ”Ή view – JavaFX User Interface

  • Accueil.java
  • StudentsPage.java
  • InstitutionsPage.java

πŸ”Ή tests – Testing Logic

  • test.java (loads and saves data, sorts and filters results)

πŸ’  Getting Started

βœ… Prerequisites

  • Java JDK 11+
  • MySQL 8.0+
  • JavaFX SDK (included in modern IDEs like IntelliJ or Eclipse)
  • MySQL Workbench (optional, for schema visualization)

▢️ Running the Project

  1. Start your MySQL server:

    sudo systemctl start mysql
  2. Compile and run from CLI:

    javac MainClassesPackage/test.java
    java MainClassesPackage.test
  3. Or run the project via your IDE (IntelliJ, Eclipse, etc.)


πŸ—ƒοΈ Database Overview

Key Tables

Table Name Description
ETUDIANTPREPA Students from preparatory classes
ETUDIANTPARALLELE Students from parallel pathways
INSTITUTION Registered universities/schools
FILIERE Available academic programs
CONDITIONSDENTREES Program admission requirements
MATIERE Subjects associated with programs

✨ Key Features

  • πŸ§‘β€πŸŽ“ Student profile management (Prepa & Parallel)
  • 🏩 Institution and major browsing
  • βœ… Admission condition validation
  • πŸ” Program filtering and sorting
  • πŸ’Ύ Data saving and loading (file-based)

🀝 Contribution

Contributions are welcome!

  1. Fork this repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'feat: add amazing feature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a pull request

πŸ’Œ Contact


This project was one of my early steps in full-stack Java development. While it may not be perfect, it represents hands-on experience with backend, frontend, and database integration β€” and that’s what matters most.

About

A JavaFX desktop app that helps students choose suitable institutions and majors based on their academic profile in Morocco. Uses MySQL for data storage.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages