This software can be used as mission control for rocket launches based on the hardware developed by teams 1-6.
After cloning our repo you can run the following commands using Maven on our project:
mvn clean javafx:run
> This will run our mission control UI. This will allow you to run simulations, and use our software.mvn clean test
> This will run our test suite on your system.mvn clean package
> This will package our application into a fat JAR which can work on your machine. (Can be found intarget/
).
When testing the software using mvn clean test
this will run our Unit tests and our GUI integration tests.
Currently we use TestFX as our testing framework which has a bug which
prevents our tests from passing on MacOS machines. This is due to mouse permissions and being unable to correctly utilize the hardware.
The tests can pass on Windows and Linux operating systems - as shown in our CI pipeline.
Your machine needs the following software to compile, run and development.
- Java 11 JDK
- Maven
You will need a keys.json
inside src/main/resources/
. This file is a JSON file which contains the keys
required to access our API services, refer to API Keys to see the format.
Inside the file src/main/resources/keys.json
it requires the following information:
{
"weather": "OpenWeatherMap API key",
"maps": "TomTom Maps Service API key"
}
Our application supports loading in simulation data generated from OpenRocket. These files are stored in src/main/resources/test-data/
.
To use the application start using mvn clean javafx:run
this will build and begin the Java application.
If the application positions look out of place resize the window slowly to dynamically update to fix the display.
To start a simulation you must click on Run Simulation
button in the bottom left corner. From there navigate to test-data
and choose a CSV file. Once you open this file it will start a simulation and run the application as if it was running an actual launch displaying the data.
This is an executable JAR package which can run our mission-control software. This is expected to work with the rocket communication during release.
NOTE: This does not allow you to run simulation files unless you have them manually downloaded - I would recommend using Usage - Compile
instead
The computer this code will run on requires the following dependencies:
- Java 11
- JavaFX SDK > This is only needed if you are using a pre-built package on a different OS (Mac or BSD)
To run this application you can download the latest .jar
from our pipeline.
Click on the link for your machines operating system:
This will download a file called artifacts.zip
within this there is a folder called target
which contains the JAR file to run the software.
Then you can run:
java -jar mission-control.jar
If you have all dependencies installed this should launch without issues. However if you are missing JavaFX SDK it will result in a pop-up notifying you of the missing dependency.
These are automatically generated from the latest version from the master
branch in the Gitlab CI pipeline.
- Our current Epic's show 0% completion this is a known issue with GitLab and GitLab EE. This will be patched on 22nd May according to the issue post. This will be delayed depending on how fast the University can deploy the update to the Gitlab instance. Until then it will show 0% completion on our Epic's which does not reflect our progress.
- We have been time tracking using GitLab issues and milestones. These can be viewed within
Issues>Milestones>Closed
or here. This outlines our previous sprints where you can see completed tickets, time spent during the week and other information. These can also be viewed inIssues>Boards
where you can then select the board for each sprint to view the previous information of completed work. - We have a cron job updating the wiki here which shows the time which team members have spent on tickets and in each group meeting based on each sprint for each week. This is an easier way to view our time spent than inside our milestones.