A stand-alone training platform for Space Electronic Warfare. The application has a "Student front-end" as well as an "instructor front-end." Users have their own "session/game" that the instructor creates and students join. Each "game" has its own unique id. Games exist as standalone objects that can be "spun up" from the database.
The student makes choices given the unique problem set presented and can take action to "jam" electronic signals.
The interface responds if the student chooses the correct setting to jam the signal.
The problem set is presented as a visual representation of electronic signals that force the student to perform the analysis they are trained for.
git clone https://github.com/thkruz/iris #Clone the github files.
cd ./iris/ #Switch into the directory.
docker compose up -d #Start the docker containers.
We use SemVer for versioning.
We are using DeepSource for static code analysis. It will automatically scan the dev
branch and continuously find and fix security vulnerabilities, performance issues, and more.
You can see the current results here:https://deepsource.io/gh/thkruz/iris/.
Currently we are using Jest for ui unit and functional tests that should ideally cover at least 80% of the functions. All of these tests can be run using:
cd ./ui/
npm run test
For end-to-end (E2E) testing we will be using the cypress framework. This is on the to-do list.
For security testing we are using SonarCloud automatically in the CI/CD pipeline.
Copyright (C) 2022 Theodore Kruczek
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License along with this program. If not, see https://www.gnu.org/licenses/.