OpenSky banner

OpenSky

14 devlogs
38h 50m 15s

An open source weather application.

Demo Repository

Loading README...

evanssidhu

Shipped this project!

Hours: 38.84
Cookies: šŸŖ 738
Multiplier: 19.01 cookies/hr

I build an open source weather application. Throughout the project I learnt lots about how to use API’s and how to fetch the API data using a backend server (vercel). Although it was pretty challenging to add some features like the radar and saved locations it was pretty fun and i’ll probably actually use this application.

Features:

  • Weather alerts
  • Location saving
  • Location Search + Current Location
  • Automatic units
  • Light/Dark mode
  • Currently, Hourly, Daily, Radar Pages
  • Radar Archive + HRRR with precipitation types (Rain, Snow, Hail, Sleet, Freezing Rain) (US & Southern Canada Only)
  • Various different weather condition support (Thunderstorm, Freezing Rain, Ice, etc.,)
  • Persistent settings in localstorage.
evanssidhu

Devlog 13

Location saving is now added. Thats all major features completed so now I just have to fine tune some things and then the project will be complete.

0
evanssidhu

Devlog 12

Location search has now been added

0
evanssidhu

Devlog 11

Lots of misc changes today.

  • Basemap has been switched from google to esri because its against the google tos to use their basemap without the maps api

  • Summaries are now dynamic and no longer hardcoded

  • Automatic unit detection has been implemented

  • Themes can now be manually toggled between

  • Settings are now saved in localstorage

Attachment
0
evanssidhu

Devlog 10

Lots got added again today. Weather icons were finally put in (I found some animated ones too, pretty cool). The HRRR is also now available as a map source so you can now see radar data in the future instead of just archived. Weather alerts also got added in this commit which is pretty useful.

Attachment
Attachment
Attachment
Attachment
0
evanssidhu

Devlog 09

A lot got added today, the currently, hourly, and daily pages have all been populated with actual data. The site now auto detects location, and you can press the button to get your current location. Units have also been added so now you can switch between metric and freedom units. The next big feature will be the location search then it will be pretty much functional except for some minor things which can be done quickly. Maybe I’ll add more map layers and i’ll probably also add weather alert fetching soon.

0
evanssidhu

Devlog 08

Pretty big one today. The currently page is now functional and pulls data from the pirateweather api. Right now I have not yet added the ability to search for different locations yet and only the currently page pulls in data. I’ll add the current location functionality soon since js has a built in geocoding api to fetch lat and long. I also figured out how to make a serverless function in vercel so the api key is not exposed in the frontend. I also revamped the theme a little bit so the colors don’t look dull anymore.

Attachment
0
evanssidhu

Devlog 07

Environment Canada weather radar has now been implemented. You can now switch between time frames and see 3 hours of archived radar. Maybe later i’ll add the HRRR so you can see I believe 18 hours into the future. I also spent way too long trying to get the leaflet-timedimension plugin to work with react-leaflet but eventually just ended up fetching the times and making the controls manually.

0
evanssidhu

Devlog 06

Today I added small improvements to the other pages but the biggest thing I did was get weather radar working. It was quite simple all I really needed to do was create a map using leaflet and add environment canada’s weather radar as a wms layer. Currently you cannot move between frames but i’ll probably add that feature soon.

Attachment
0
evanssidhu

Devlog 05

Did a bit of work on the rest of the frontend and got daily and saved locations mockups done. The navbar is also functional now so you can switch between pages. Most of the frontend is done now so I hope to finish the mockup soon so I can start actually working on the api implementation and app functionality.

Attachment
0
evanssidhu

Devlog 04

Took a bit of a break over the last couple days but today I implemented the structure of what hourly data should look like. The frontend still has quite a bit of work that needs to be done for the other pages and nothing is really functional yet. After thats done i’ll start work on implementing the api calls and putting that data on the site (shouldnt be too hard since react and jsx have pretty good html-js integration. It seems like a hassle to get each user to sign up for an api key so I should also work on learning how to hide my api key from production. After researching vercel seems like a pretty great choice since they have a good free tier and wont charge you if you go overboard.

Attachment
Attachment
0
evanssidhu

Devlog 03

Did a slight refactor to move position logic outside of the component. Mostly worked on making a mackup of the current conditions and the highlights page. So far each component is responsive on both mobile and pc.

Attachment
0
evanssidhu

Devlog 02

I started work on the site layout. So far the structure for the navbar and location searching have been completed, and next I plan to work on creating cards to hold all the weather data.

Attachment
0
evanssidhu

Devlog 01

I’m planning on making a fully open source weather application written in react + typescript. The planned features include current, hourly, and daily conditions. I hope to be able to implement features like radar, advanced precipitation types (freezing rain, sleet, thunderstorm. etc.,) and some other features. For now, I have to look into some APIs to support the features. I heard that PirateWeather is pretty good and its open source.

Attachment
0