Class Scheduler — TCP Client-Server

JavaJavaFXTCPFork-JoinSwing

Project Overview

University project demonstrating TCP/UDP protocols and Java programming. Implements a client-server architecture to create and manage class schedules for students.

  • Grade Received: A
  • Development Status: Completed

Features

  • Client GUI for easy interaction
  • Server handling multiple client connections
  • TCP-based communication between client and server
  • Add, remove, and display class schedules
  • Automatic rescheduling of classes to early morning slots

Technical Highlights

  • Multi-threaded server to handle concurrent client connections
  • Synchronization for thread-safe shared schedule access
  • JavaFX GUI for the client
  • Fork-Join framework for parallel processing of schedule modifications

How to Run

# Start the server
java project.server.Server

# Launch the client
java project.fxpart.ClassSchedulerApplication

Enter the server’s IP address when prompted (or press Enter for localhost).

Note

This is a copy of the final project made public after the original repository was taken private post-grading.