CatVSDog.com will finally answer the question we all have: Who is cuter between cats and dogs? 🐈 🐩
As the meme war between dogs owners and cats owners rages on, this question is important, more than ever.
Create an account within seconds on our awesome web application, and instantly start scrolling through the feed of cute pet pictures. Vote for your favorite one! 💖
Each member can also start a duel by generating a post with which others will be able to interact. 💯
Finally, thanks to our statistics page and API, you'll be able to see which pet is the favorite one in real time! 📊
To make the whole system work, we are providing several APIs:
USER API
: Is handling the users of the application. Allows them to log in, log out, create, edit and delete their profile. Requirements:- Password validation and JWT creation
- Security, via flask packages
IMAGE FETCHING API
: Retrieves the cutest dog and cat pictures of the web. Requirements:- Abstraction of foreign APIs that return random pictures of cats and dogs. Provides 2 methods: GetCatPicture and GetDogPicture.
- Interact with the imgur API to fetch images of dogs and cats
FACE-OFF API
: Interacts with the image fetching service to build a duel between a dog and a cat. Then, creates a post that will pop up in the users' feeds. It handles the votes and sends them to the DB service. Requirements:- Retrieve posts by date (order by)
- Retrieve post by ID
- Generate a match opposing a cat and a dog, with the initialization of a counter.
- Store the post in DB
- Send votes as long as the post is active.
MACHINE LEARNING API
: Get an image as an input and predict if it is a cat or a dog. This is done with Tensorflow with a model trained to differentiate dogs from catsANALYTICS API
: Computes the global score for dogs and cats from the votes. It keeps the dedicated page updated with the answer to the big question: "Who's cuter between cats and dogs ?" Requirements:- Compute the votes and compile various statistics.
These micro-services are developed using Flask and various external packages, for specific features (JWT management, CORS requests, etc.).
The APIS are used by the front-end of our application, which is developed using the javascript framework Vue.js.
To authenticate yourself when using the microservices you'll have to generate keys. Execute ./generate-keys.sh
in the user_api/keys/
folder.
Launch all API's and web ap with :
./launch
To kill all processes :
./killall
Name | Email address | Student ID |
---|---|---|
Pierre Said | pierre.said@epitech.eu | 40102552 |
Guillaume Hitier | guillaume.hitier@epitech.eu | 40102556 |
Clément Peau | clement.peau@epitech.eu | 40102553 |
Theo Penavaire | theo.penavaire@epitech.eu | 40102474 |
- ML API
- Front end
- Imgur Image fetching
- Bug fixes
- User API
- Bug fixes
- Post API
- Bug fixes
- Image Fetching API development
- Analytics API development
- Bug fixes