I’m building a mountain weather at the moment. When the weather is good, I like to spend my weekends in the mountains. I wanted to create an application that can retrieve and display the best weather forecast for the main mountain ranges in Ireland. I outlined some learning outcomes and intend to integrate it into my home lab.
App
To broaden my knowledge, I decided to build the front and the back end in separate containers. Docker is a tool I haven’t used in a professional environment but it is a technology I am eager to learn. Here are some more details of the construction:
Backend
The backend of the application is written in C++. At the moment there are three classes of note:
- The mountainmapping class: loads constant mountain values into a structure and also creates a blank forecast structure to be updated.
- The weather forecast class:
- interfaces with the Irish Met offices Harmonie weather model’s API.
- Uses coordinates from the mountainmapping class, gets weather forecast for specific locations.
- Clock class
- Formats time to be suitable for weather API requests.
Frontend
This is still in the UI:UX design phase.
Database storage (Maybe)
I want to become more familiar with SQL. I don’t have a large amount of storage to create a large database of weather data but I’d be interested in integrating some kind of rolling weather forecast data comparator.
Learning outcomes
RestfulAPI
I can’t say I’ve worked with a restful API but I think this statement alone is a good enough reason to read up on the structure and try an integrate it into this project.
DevOps
I would like to integrate this into my home lab. I think it would be a good project to become familiar with containerized processes.
Databases
SQL is something I want to learn. I don’t think a database is necessary in the current scope of the project. There could be an interesting spin-off project to analyse forecast accuracy relative to the time between forecast and date. Either way, I currently don’t have enough hardware memory for a large database.
Leave a comment