Code
The repository contains four projects:
- NautDrafter - The client GUI (also contains the drafting server) - javadocs here
- NautDrafter_Drafting - The drafting server
- NautDrafter_Lobby - The lobby server (used for listing drafting servers, and helping holepunch connections between client and drafting server) - javadocs here
- 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.
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.