💡 Inspiration

Ever since I was young I have always been intrigued by Satellites and spacecraft. I still remember the inexplicable amount of joy I had when I randomly saw a satellite passing by once in a while. I remember thinking to myself, "If only there was a way to know in advance of spacecraft and satellites passing near me...". Ever since then, I always wanted to come up with a solution to tackle this problem but I always felt like I lacked the technical knowledge to build this project. When I presented this idea to my team last Friday, everyone seemed to love the idea. (It became quite apparent that every single one of us has a hidden astronaut inside us ;) ). After multiple hours of hacking and researching, we were able to tackle a multitude of technical issues and come up with a solution that allows users to keep track of Satellites and Spacecrafts.

⚙ What it does

The user, after creating an account or logging in will be redirected to a dashboard containing some basic information about the site and how to use it properly. The user can then visit the "Location" page through the left-hand side navigation bar. This page contains an interactive map that obtains the user's location automatically once the map is clicked. Next, the user can visit the "Nearby Satellites Page" where a curated list of satellites/spacecraft that are passing near the user's location is displayed. This list is updated every 10 seconds. In addition to this the user also has the ability to subscribe to any one of these satellites in the list. Subscribing to a satellite checks whether if there are any visible passes by that particular satellite near the user's location in the coming 10 days. If there are, these pass details are then available to be viewed on the "subscribed satellites" page. The user would also get an email notification 15 minutes prior to each one of these passes of subscribed satellites.

🔧 How we built it

💪 Challenges we ran into

  • We had issues integrating redux for state management in the frontend.
  • We were in two different timezones, which made keeping in sync initially difficult.
  • Creating a custom cron job within the strapi api to check for upcoming satellite passes in order to send the user an email was also challenging.
  • Using a Graphql query to obtain nested data from Strapi.
  • We were unable to deploy the front end of the project due to a lack of time.
  • We were unable to use twilio sendgrid to send a notification email for upcoming satellites due to lack of time. Designing the email using HTML and CSS took more time than expected

📌 Accomplishments that we're proud of

  • We eventually delegated work effectively, which made development smooth but also made sure we didn't have merge conflicts when updating the repository. We pair programmed and collaborated seamlessly.
  • We created a fully functioning, complete full-stack project in just a weekend!! 🥳

📚 What we learned

  • We got better at using React through practice. Particularly, some team members learned how to do more advanced functionality.
  • We learned how to maintain teamwork even when half the team was inactive during a particular time due to being in a different location.

⏭ What's next for Stargazer

  • Deploying the front end.
  • Completing the email notification implementation.
  • Implement the ability to subscribe to any satellite with a given Norad id.
  • We need to clean up our code to adhere to industry best practices.
  • We can improve styling and user experience.

Built With

Share this project:

Updates