The purpose of this document is to formalize this image.


In this image, labels with circles represent category and the children represent goals which relate to the category. Each children is a general idea on what the result should be, and it is up for Software Leads and Software Project Managers to formulate tasks to accomplish the goals.
We must have an effective way for users to sign up and be authenticated (likely by Google OAuth) and for user callsigns to be validated. Additionally, we must determine a pipeline for handling commands authorization (note that commands authorization is a manual process and that users must be cleared by a human to make mission requests). Finally, we MUST have data visualization before competition as the judges will likely judge ARO Frontend on a surface level hence we need this to “wow” them.
User sign up, authentication, commands authorization, data visualization, and callsign validation
So far, the MCC frontend does not have many goals apart from data visualization. Note that the purpose of MCC is to provide a robust set of satellite diagnostic tools and be the bridge between anyone working on the satellite and the satellite itself and hence should be performance focused
Manual user authentication
Developer operations are anything which we build to aid with building more complex systems. Currently, we have data wrappers [GUYS HELP ME OUT HERE PLEASE FILL THIS OUT I’M NOT FULLY SURE WHAT ELSE WE HAVE]. Following that, we must have a set of powerful, simple, and scalable tools from which we can develop the rest of GS with.
TBD
The commands pipeline is non negotiable and MUST be done before competition. The commands pipeline is how we take commands from front end, and get them to the satellite. Without this, ground station is useless. Everything comes second to this. Following that, we need to have a way to encode and decode information from and to the satellite, this would be a joint task between firmware and software. Note that encode decode is not too important, and comes second to everything else. Finally, we have to develop a demo for the CSDC judges. The demo should show off our commands pipeline and whatnot. Finally, we need a way to authenticate MCC users.