Development - struct-by-lightning/wpi-suite GitHub Wiki

This page contains all of the information you need to get started developing for WPI Suite. Use it to find out how to contribute to the main WPI Suite framework or how to develop your own module to support new functionality.

Development Environment

Project Structure and Guidelines

Project Layout This page provides a brief description of the purpose of each Eclipse project in the repository.

Repository Guidelines Rules to follow if you want to contribute to the project.

Architecture

Pre-existing Architecture

Architecture Overview An overview of the architecture of WPI Suite, including high-level architecture diagrams and an explanation of the interaction between the various pieces of the system.

Janeway Architecture A more detailed look at the design of the desktop client, Janeway.

Networking with janeway An overview of everything related to the Network.

The Database The current database implementation and how to use it.

Struct by Lightning Architecture

Planning Poker Overview An overview of what Planning Poker is, and current plans on implementation.

Planning Poker Database A description of the planning poker database structure.

Tutorials

Struct by Lightning Specific Tutorials

Setting up Git and WPI-Suite Setting up your own fork of the Struct by Lightning WPI-Suite.

Using Git Managing your own WPI-Suite fork.

General WPI-Suite Tutorials

Setting Up Your Development Environment This guide provides detailed instructions on how to setup your computer to develop for WPISuite.

Building WPI Suite Once you have your development environment setup, follow these instructions to build WPISuite on your machine.

Build System Learn about how the build system works with Eclipse and Ant

Running WPI Suite Locally These instructions explain how to run WPISuite on your own local Tomcat server. Make sure you have followed the instructions for building WPI Suite before attempting.

Step by Step Guide to Creating a Module

Adding a Module This guide walks you through the process of developing a simple module from beginning to end. It is a good place to start if you want to develop your own module or just want to familiarize yourself with the WPISuite architecture.

Networking with Janeway This page describes how to add a shell module: the bare minimum classes required of WPISuite modules. If you're just starting out use the step by step guide above.

Adding a Model (Data Entity) Learn how to make network requests in the Janeway client using the built-in network library.

Advanced API This page describes how to add a new data model to a WPISuite module. It primarily focuses on where the model needs to be registered in the core.

General Git Tutorials and Resources

Useful Git Commands A handful of git commands and shortcuts you will frequently use.

Documentation

Comment conventions

FAQ

WPISuite Troubleshooting & FAQ Find answers to troubleshoot issues and find solutions to common questions.

Janeway FAQ Frequently asked questions about Janeway.

What to try if the Core breaks.

⚠️ **GitHub.com Fallback** ⚠️