Skip to content

danielcregg/ooc2-project-example

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OOC2 Project Example -- Student Manager

Java License: MIT

A fully worked example project for the Object-Oriented Computing 2 (OOC2) module at Atlantic Technological University (ATU), demonstrating a JavaFX desktop application with serialization and CSV file I/O.

Overview

This Student Manager application showcases the key OOC2 concepts in a single cohesive project. It provides a graphical interface for managing a list of students, with the ability to add, remove, search, and persist student records to both CSV and binary (serialized) files. The project serves as a reference implementation for students completing their own OOC2 assignments.

Features

  • JavaFX GUI -- GridPane-based interface with buttons, text fields, and a text area for output
  • Add / Remove Students -- Create and delete student records with input validation
  • Data Validation -- Student ID format checking (G00XXXXXX), name and age validation
  • CSV Import / Export -- Read and write student data to CSV files using buffered streams
  • Binary Serialization -- Serialize and deserialize the entire student list to .ser files
  • File Chooser Dialogs -- Native OS file picker for loading and saving data
  • Command-Line Arguments -- Optional window title via command-line arguments
  • Cloud IDE Support -- Pre-configured for GitHub Codespaces with Dev Containers

Prerequisites

  • Java 21 or later with JavaFX support (Zulu JDK FX recommended)
  • A Java IDE (VS Code with Java Extension Pack, IntelliJ IDEA, or Eclipse)
  • Git

Getting Started

Installation

git clone https://github.com/danielcregg/ooc2-project-example.git
cd ooc2-project-example

Usage

Compile and run the application:

javac -d bin src/ie/atu/studentmanagerpackage/*.java
java -cp bin ie.atu.studentmanagerpackage.Main

Or open the project in your IDE and run Main.java directly.

Using the application:

  1. Click Add students from bin file to load an existing .ser file
  2. Enter a Student ID (format: G00XXXXXX), first name, and age, then click Add Student
  3. Click Show Student List to display all students
  4. Enter a Student ID and click Remove Student to delete a record
  5. Click Save List to binary file to persist the current list

Tech Stack

  • Language: Java 21
  • GUI Framework: JavaFX
  • Data Persistence: Java Serialization, CSV (BufferedReader / BufferedWriter)
  • Build Environment: GitHub Codespaces (Dev Containers)

License

This project is licensed under the MIT License. See the LICENSE file for details.

About

JavaFX Student Manager application demonstrating OOC2 concepts including serialization, file I/O, collections, and input validation at ATU

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages