It seems like every time you try to go stargazing, there is something that makes it undesirable. It could be rain, clouds, visibility, temperature, or even the constellations visible from the location you want to go to. We decided to do something about this and allow users to quickly get stargazing condition reports for the next 48 hours anywhere on the planet.
What it does
ClearSky is a website that allows you to get stargazing information just by entering an address near where you want to go observe the cosmos. It makes several API calls to convert the information you entered into usable data, which is conveniently placed into a table with a condition report for every hour of the projected weather. There is also a blog section for users to share photos (hosted on another site) from their stargazing trips along with other text content to describe their experiences. Creating a community is part of ClearSky and keeping it safe is a high priority, so there is also an admin site that allows moderators to delete posts that are not deemed appropriate for the platform.
How we built it
We built ClearSky using Flask to serve content and Bootstrap 4 to make sure that the user experience is the best that it can be. We used the Radar.io Geocoding API to get accurate geographical coordinates for any query that a user may enter and the OpenWeatherMap API to get the weather data for the decoded coordinates. The user authentication and blog section use the built-in SQLite3 capabilities of Flask to store user data and all of the blog posts.
Challenges we ran into
We ran into a few challenges with the session cookies in order to have users sign in and share content. We also, unfortunately, did not have enough time to add the image section of the blog.
Accomplishments that we're proud of
We are very proud of the overall polish of the user interface as well as the usability and depth of the data that we retrieved from the OpenWeatherMap API.
What we learned
Since this was our collective first project using Flask, we learned how to use this new and powerful framework. We also learned how to link a Heroku application to a custom domain, which is a first for all of us as well.
What's next for ClearSky
We will definitely be adding more functionality to the blog section of our website. Specifically, images support, commenting/likes, and password recovery. We will also be looking into integrating even more APIs to create the best stargazing condition report possible for our users.