Inspiration
We wanted to find a link between gaming and data visualization. While we were looking for data sets we came across NASA's NEO API
What it does
Uses NASA's NEO API provide an intractable 3D interface to learn about the Near Earth Object's (NEO)'s from the past and future. Are they hazardous? Heading directly for Earth and bound to end it all? Are they just cruising past on their orbit around Mars or Jupiter? How big is it? How fast is it going?
How we built it
The interface and visualization is made using C# Unity, built into WebGL. We used Google Cloud Functions and Job Scheduler to harvest the data from NASA overnight, populating a DataStore.
Challenges we ran into
We didn't forsee that the Google Cloud API package for C# would be incompatible with Unity. We worked all night to get the cloud solution to data harvesting and storage working, only to realize that our 20,000+ datapoints could not be accessed from our Unity client. We instead just made requests directly to the NASA REST API from the Client, which is not ideal, since NASA has strict throttling policies. Under heavy traffic, the site would not be able to adequately fetch data. However, using our Cloud solution, we would have been fine.
Our backup plan was to export the Datastore to json and host on Cloud Storage, but we then found that the export from Datastore was in binary, and ran out of time trying to convert to son format.
Accomplishments that I'm proud of
What we learned
How C# and Unity package manager work. Visual effects with Unity How to use C# to make REST API requests. How to use Python on Cloud Functions (with Datastore) to harvest data on a chron job.
Research your solution all the way through before implementing.
What's next for conuhacks-2019
Get the site deployed and hooked up to a solid database. Harvest orbital data to accurately map asteroid NEO trajectories.
Log in or sign up for Devpost to join the conversation.