Foodie
Foodie is the most delicious command line interface out there. Type in what you want to eat and let foodie find restaurants nearby to satisfy your cravings.
Installation
Use the package manager npm to globally install foodie.
npm install -g foodie
Usage
This CLI package uses both the Google Geolocation API and Places API. You will need to go to the credentials section of the Google Cloud Platform. Once there, click the "Create Credentials" button, and select "API Key". This key will be used for both APIs so it must be unrestricted.
However, should you want to restrict your API key, you will need to create a second one. The package allows for an optional second API key to be incorporated, just make sure the first key is for the Geolocation API and the second is for the Places API.
If you do not include a second API key, the package will default to the first one and use it for both APIs.
The API key(s) needs to be stored in an .env
file and use the below formatting.
example .env file
API_KEY = YOUR_FIRST_API_KEY
API_KEY_2 = YOUR_SECOND_API_KEY (optional)
Once this is done, you can now globally install foodie and be able to run the foodie
command.
$ foodie
You will then receive a prompt, asking what kind of food you want.
What are you hungry for?
Type in a type of food you are in the mood for, like Chinese, Mexican, sushi, Indian, and more (the search is not case sensitive).
Alternatively, if you want to skip the initial prompt, you can simply write foodie FOOD_TYPE
and the list will be generated in a few seconds.
You will then see a dancing 'kirby' (<('o')>
) that will dance in the command line while you wait for your results are evaluated. When your are returned, you should see a list of restaurants that fall under whatever category you typed into the command line. The restaurants are ordered initially by how close they are to you. The closest restaurants will appear at the bottom of the list.
After the initial response, you will have the option to further sort your results by price, rating and distance. The price and rating sorter will alternate between cheapest/most expensive and best/worst rated. The distance sorter will always return restaurants in the order of closest to furthest away from your device's geographic location.
Below is an example of use.
Initial Prompt with Results
Initial Sort Options
After Sort by Rating
Items are now sorted by rating. Notice how now the rating sort option now reads (worst). If you type in rating
again it will now sort by worst rated.
Exit
Contributing
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
Please make sure to update tests as appropriate.
License
MIT