Inspiration
I'm a big fan of minimalist software (like terminal applications and the likes). So I decided to build a Terminal application that gets the weather from Open Weather and display it in a nice UI right inside your terminal. My goal, aesthetically speaking, was to look something like calcurse.
What it does
My project prompts the user to enter a city and their API key (for Open Weather, this is a must in order for this to work), it then takes these values and sends it to Open Weather, which then generates a JSON file with all of the relevant data needed. This data is then passed into a C++ file that converts that JSON data into variables that can then be used with ncurses to display a UI.
How I built it
I used Neovim as my "IDE" to work on this project, JsonCpp, Boost.PropertyTree, and ncurses were a couple of new dependencies I had to work with.
Challenges I ran into
I'm not that experienced with bash scripting, so that was a bit of an initial hiccup. But a more critical issue was that I had a lot of trouble trying to convert/parse JSON data into variables within C++. I've tried using Boost.PropertyTree as well as JsonCpp; all but to no avail.
Accomplishments that I'm proud of
N/A
What I learned
I learned more about JSON, ncurses, curl, and C++.
What's next for TerminalWeather
I'd like to at least get this program in a stable, working state. Even if it's not the most robust application out there.
Log in or sign up for Devpost to join the conversation.