Project Overview

Code

The repository contains four projects:

  1. NautDrafter - The client GUI (also contains the drafting server) - javadocs here
  2. NautDrafter_Drafting - The drafting server
  3. NautDrafter_Lobby - The lobby server (used for listing drafting servers, and helping holepunch connections between client and drafting server) - javadocs here
  4. NautDrafter_Common - Anything required by both the main and lobby projects.

Package Structure

Within the main GUI project "NautDrafter" we use MVC architecture.

Most UI elements are defined in fxml files in the view package, under the source folder "resources". However there are a few Java classes in the view package under the "java" source folder.

All fxml components need a controller to load and interact with the actual elements. These are defined in the controller package.

For our project the "Model" is mainly defined as the networking packages as the DraftingSever/Client determines what should be showing in the UI.