Inspiration
Our interest in aerospace as well as the field of aerospace engineering.
What it does
The application tracks real time satellite positions above the Earth's geographic coordinates, shows the trajectories, as well as displays facts about satellites and images.
How it was built
React was used as a Frontend framework. Three.js and react-globe.gl were used for 3D modeling of the earth and satellite points and traces. N2YO API was used to get the current satellite coordinates. Flask was used as backend and was performing two important tasks: storing and updating coordinates requested from N2YO API, and sending the requested data from the database to the frontend.
Google Cloud
Cloud Firestore was essential for this project, as we had to store the data on satellites in real time, and be able to receive requested data from the database as fast as possible. We created a database of satellites with different information about them. Each record also has arrays of latitude and longitude which are updating every minute for each of the satellites. Thus, we are able to receive the most current location of the satellite within 1 minute delay as well as the coordinates of the satellite position ~40 minutes prior, which will help us to draw a fading trace on the globe representing the trajectories of the satellites.
Challenges we ran into
Time challenges, lack of documentation, CORS issues, limits of N2YO API, huge learning curve
Accomplishments that we're proud of
We were able to create a working application within a very short period of time. We learned new skills that we will definitely take into the field.
What we learned
Working in a team environment, new frameworks and programming languages, working with Cloud Firestore
What's next for ChórosX
Add more satellites, add more UI/UX, add features such as launch pads and historical locations, make a search by satellite, follow the satellites, add 3D models of the popular satellites.
Built With
- cloud-firestore
- firebase
- flask
- google-cloud
- n2yo
- react
- three.js
Log in or sign up for Devpost to join the conversation.