The name of my capstone project is Web IOS 2.0. We chose to make this project in collaboration with CymSTAR, LLC. The Web IOS is a web application version of the Instructor/Operator Station of a flight simulator. This allows the flight instructor to not be stuck to a particular location to provide the training experience to the pilots.
A demo can be found below:
The team:
Reese Hicks
Created the map tiles
Autumn Corona
Project lead
Everything else
Project Requirements:
Add map functionality that followed the airplane
Increase the update rate of all data
Create an input latency notification
No Internet connection
Other functions completed:
A trail (or track) that showed where the airplane flew over the ground
Rotation of the airplane in the map that corresponded to its heading
Not following the airplane when the map is dragged
Recenter the map to the airplane after the map was
dragged by either clicking on the airplane, clicking the target icon in the corner, or waiting 15 seconds
Five different map types to choose from
JSON responses from the server to acknowledge completion or failure of data updates
Zooming in and out
Backend:
Flight simulator is written in C
API to directly change the memory contents of the flight simulator is written in Rust
Node.js
Docker
Frontend:
React
Leaflet.js
HTML, CSS, and JavaScript.
Learning objectives:
Be better systems analysts to find efficiency improvement opportunities
Being more capable at developing modern web applications
Using React and being more confident JavaScript developers
Not being overwhelmed with such a complicated project and given such little time
How to program in Rust
Challenges:
Only three weeks to complete the project
Using CymSTAR's Docker container delayed development by another week
No Internet in the final project product
Continuing an existing project that required mastering new languages and tools
Understanding the math behind basic geodesics
The project was mostly frontend, but the specialization that Reese and I completed at Holberton School was "Linux programming, advanced algorithms, and blockchain," and the previous Holberton School team that created the first version did the fullstack specialization, and they really flexed their muscle when developing the application-- all of which had to be learned when making these improvements.
If you can explain to me how Vincenty's Direct Approach formula works, I would greatly appreciate an explanation!