Skip to content

A hobby project demonstrating user registration workflows in JavaFX, featuring a live cloud backend powered by Supabase and JDBC.

Notifications You must be signed in to change notification settings

f9ine99/javaFX-registration

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Student Course Registration Form

Course: Advanced Java Programming assignment
Tech Stack I Use: Java 21 · JavaFX 21 · JDBC · Supabase (PostgreSQL)
Type: Desktop GUI Application


Overview

A JavaFX-based desktop application that allows students to register for courses through a graphical form. User input is validated and stored in a PostgreSQL database hosted on Supabase using plain JDBC.
This project started as a course assignment and was extended for hands-on learning with real database connectivity.


Features

  • JavaFX-based desktop UI: Interactive and responsive user interface.
  • CSS-styled modern interface: Custom styling for a professional look and feel.
  • Client-side form validation: Ensures data integrity before database submission.
  • JDBC database connectivity: Direct communication with the database using standard drivers.
  • PostgreSQL backend via Supabase: Managed cloud database for reliable storage.
  • Submit and reset workflows: Complete lifecycle management for user input with feedback.

Tech Stack

Layer Technology Language/Version
Language Java 21
UI JavaFX 21
Styling JavaFX CSS -
Database PostgreSQL Supabase
Connectivity JDBC -
Build Bash script -

Project Structure

student-registration/
├── run.sh                    # Execution and build script
├── src/
│   ├── Main.java             # Application entry point
│   ├── RegistrationForm.java # UI + event handling logic
│   ├── DatabaseHandler.java  # JDBC & database connection logic
│   └── style.css             # UI styling and themes
├── lib/
│   └── javafx-sdk-21.0.2/    # External JavaFX libraries
└── out/                      # Compiled project files

Important Setup Notes

  • Make sure the PostgreSQL JDBC driver is downloaded and available on the classpath.
  • Ensure JDK 21 is installed and properly configured (java and javac available in $PATH).
  • Verify that the JavaFX SDK path in run.sh matches your local installation.
  • You may need to edit the build script (run.sh) to:
    • Update JavaFX library paths
    • Add the PostgreSQL JDBC JAR to the classpath
    • Adjust paths for your operating system

Failure to configure these correctly will result in build or runtime errors.

Build & Run

Prerequisites

  • JDK 21 or higher
  • JavaFX SDK 21.0.2

Execution

To run the application, navigate to the project root and execute the following commands in your terminal:

chmod +x run.sh
./run.sh

Notes

  • This is an educational project, not a production-ready system.
  • Security, scalability, and configuration management were intentionally kept minimal.
  • The project focuses on understanding JavaFX + JDBC + PostgreSQL integration rather than enterprise-level architecture.
  • Supabase is used as a convenient hosted PostgreSQL backend for rapid development and testing.

About

A hobby project demonstrating user registration workflows in JavaFX, featuring a live cloud backend powered by Supabase and JDBC.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published