Course:CPSC312-2023/Dog Breed Recommender

From UBC Wiki

Authors: Guramrit Bamrah, Benjamin Raine

What is the problem?

Many people today are looking to become first time dog owners, however they may not know what breed is right for them, depending on what their life styles or personalities are. Our project aims to solve this problem by providing recommendations for dog breeds based off of their (the person's) personality and life style.

Using the dog apiwe can get information various breeds, from size and lifespan, to personality, and pictures as well. Then match them to our user through our tool.

What is the something extra?

In addition to matching dogs to your requested personality trait we also make another call to the API to get images for any you want to see from the subset, then we display them for you, since you of course want one you find very cute.

What did we learn from doing this?

One thing that we learned from this is how to parse data coming in from an API and use it as a dictionary. One of the biggest issues that we ran into this is that while we were parsing the data, the data was not getting passed back to the top of the call stack. After some digging, we determined that this was happening because we were trying to modify a constant, and in Prolog constants are immutable. To fix this, we added a separate constant to hold the return value.

Links to code etc.

Doggo Repo