← Back to Projects

Create a Dictionary Terminal APP

Goal

4Geeks Coding Projects tutorials and exercises for people learning to code or improving their coding skills

Difficulty

easy

Repository

Click to open

Video

Not available

Live demo

Not available

Average duration

4 hrs

Technologies

Urban Dictionary Terminal App

Urban Dictionary Terminal App

The Urban Dictionary is an amazing resource for english language lovers; It features the accurate definitions of words, not like other services like Wikipedia, Oxford, etc. πŸ˜…

In this project your are going to build a terminal based (CLI) dictionary.

Before you begin

  1. Register a RapidAPI.com account and make your to request a key for the urban dictionary API.
  2. Watch this 15 min video to understand pipenv, the python package manager.
  3. Watch this 10 min video on what are API Keys and credentials.

🌱 Starting the project

Clone this repository locally (git clone <project url>) or open it with Gitpod by clicking here (recomended):

Note: The project requires Python 3.8 and pipenv (python package manager), if you open it with Gitpod you are ok but localhost users will need to install manually.

Install the application dependencies by typing (only once):

$ pipenv install

Run the application by typing (every time):

$ pipenv run python app.py

πŸ“ Features that the application must have

  1. Greet the user
  2. Ask the user for the term he/she wants to look up, use the input("What term do you want to look for?") python function.
  3. Use the python requests package to code your GET request to the Urban Dictionary API

Let's supposed that we are looking for the definition of the word computer The API specification says that you have to do a GET request to the following URL:

url = "https://mashape-community-urban-dictionary.p.rapidapi.com/define?term=computer"

Don't forget to add the headers with the API credentials, please refer to the API example in the documentation.

  1. Process the response body, understand it and get the word definition from the incoming response body.
  2. Show the definition on the terminal.
  3. Store the definition in a JSON file.

🀠 Feeling confident?

The following requirements are not mandatory but you can try completing them if you feel confident:

  1. Cache system: If the user asks for the same word again, instead of calling the API again you should have the previous responses stored in a dict.
  2. Look for multiple words separated by comma.
  3. Use sys.argv to allow the user to ask for a definition like this:
# "enjoy" is the word the user is looking up the definition $ pipenv run python app.py enjoy

Hint: how to use the sys.argv

Goal

4Geeks Coding Projects tutorials and exercises for people learning to code or improving their coding skills

Difficulty

easy

Repository

Click to open

Video

Not available

Live demo

Not available

Average duration

4 hrs

All rights reserved, 4Geeks LLC 2021. Read more about 4Geeks and what we are going here.