Skip to content

Project Layout

fracture91 edited this page Jan 22, 2013 · 3 revisions

WPI Suite TNG is made up of a number of Eclipse projects that are responsible for certain pieces of functionality.

WPISuite

This is the core server project. It provides persistence, an HTTP API for clients, and allows modules to be loaded server-side in order to extend functionality.

Janeway

This is the Swing client that end users can use to interact with the server. The "Janeway" name comes from Captain Janeway, who commands the USS Voyager, just as this client commands the WPI Suite core. Janeway also uses modules to provide extensibility. Janeway modules are loaded dynamically according to the project configuration in the core.

Network

This project is a generalized networking library used in Janeway. It allows modules to make asynchronous HTTP requests in a convenient way. Janeway configures the Network singleton at startup so that modules don't have to worry about the server URL or managing standard HTTP headers. The Network project also provides a convenient dummy server for testing purposes.

Module projects (DefectTracker)

The repository will contain a number of module projects. The only one present at the moment is DefectTracker, but future modules will have a similar format. Modules provide an entry point for both Janeway and the Core. Since they're located in the same project, both components can easily share functionality.

WPISuite-Interfaces

This project currently holds any files used in the core that Janeway or module projects also depend on.