I chose to work with a job board for my command line interface project. The only job board that I could find with an API that was easily attainable was Authentic Jobs. Most of the large job boards require that you have a large audience before they will grant an API key, which is unfortunate for learning yet understandable.
The job board I worked with was small, so I was able to collect every listing before asking for user input. The wait to collect all postings is only a few seconds and it prevents unintentional API abuse. On a side note, I have been working with Indeed as well, but chose not to use it for my project. This method would certainly not work well with Indeed because they have over 5 million jobs in the U.S. alone. It would take a very long time to collect all of the jobs, and Indeed would likely disable my API key.
Once all job listings are collected, the user is able to search by location. Individual jobs are printed out based on the user’s search input. Users can select a job ID to see more about that listing, or return to the main menu to perform a new search.
Thoughts on the process
I doubt I will improve on this project in the future due to the small amount of jobs available. I will probably focus more on the Indeed CLI during free time purely because it has a massive collection of listings.
The process of creating the CLI was fun and using the API felt very clean and powerful. The hardest part of the project was organizing the code in a way that made sense. I still do not think I am 100% correct in the way that I did things (when compared to common practices), and I will probably look at this code in a few months and wonder what I was thinking. The GitHub repository for my porject is located here.