A student team management system using a decoupled architecture:
- Backend: Spring Boot REST API (Maven-based)
- Frontend: JavaFX Desktop Application (Maven-based, MVC pattern)
This project demonstrates how a JavaFX client application communicates with a Spring Boot server to manage students, teams, and their assignments efficiently.
StudentTeamManagement-JavaFx-SpringBoot/
├── SpringServerBackend/ # Spring Boot REST API (Maven project)
└── teamapp/ # JavaFX GUI Application (Maven project)
📝 Pre-requisites:
- JDK 17+ (ensure same version for both backend and frontend)
- Maven 3.6+
- Internet connection (for Maven to download dependencies)
- JavaFX SDK (only needed for frontend-javafx if not using a bundled JDK)
-
Open a terminal and navigate to the backend project directory:
cd SpringServerBackend -
Build and run the Spring Boot server:
mvn spring-boot:run
-
The server should start on
http://localhost:8080(default port).
-
Open a new terminal and navigate to the frontend directory:
cd teamapp -
Build and run the JavaFX app:
mvn clean javafx:run
🛠️ If you face JavaFX module issues, make sure your IDE is configured to use the correct JavaFX SDK and
module-info.javais set up properly. -
The application should open a GUI window and connect to the backend.
- Uses standard Maven structure
- All dependencies are managed via
pom.xml - Controllers expose RESTful APIs for:
- Student Management
- Team Management
- Assignments and Relations
- Follows MVC structure
- Communicates with Spring Boot backend via
HttpURLConnectionor preferred REST client (likeHttpClient) - Requires
javafx.controls,javafx.fxml, etc., inpom.xml
Example to test backend manually:
curl http://localhost:8080/api/students- Java 17+
- JavaFX 17+ (FXML + Controllers)
- Spring Boot 3.x
- Maven
- REST API (JSON communication)
- h2
- Always start the Spring Boot server first, then the JavaFX app.
- If using IDEs like IntelliJ, ensure you set up:
- JavaFX VM options in Run Configuration
- Correct project SDK and language level
##contact -- hasnatrasool163@gmail.com