Giter VIP home page Giter VIP logo

nneji123 / media-recommendation-engine Goto Github PK

View Code? Open in Web Editor NEW
12.0 1.0 3.0 118.79 MB

A Recommendation Engine API that can be used to recommend movies, music, games, manga, anime, comics, tv shows and books. Deployed using an AWS EC2 instance.

Home Page: http://3.215.17.45/docs

License: MIT License

Dockerfile 0.64% Python 88.38% HTML 10.75% Shell 0.23%
api application docker docker-compose fastapi frontend machine-learning mlops mlops-workflow pandas

media-recommendation-engine's Introduction

Coverage

Media Recommendation Engine, an API that recommends content such as movies, tv shows, anime, songs etc. Built with FastAPI.

Coverage Supported Python versions Supported Python versions Supported Python versions Supported Python versions Supported Python versions

Table of Contents

Features

  • Light/dark mode toggle
  • Live previews
  • Fullscreen mode
  • Cross platform

API Reference

Go to home directiory

  GET /api/home
Parameter Type Description
api_key string Required. Your API key

Get item

  GET /api/items/${id}
Parameter Type Description
id string Required. Id of item to fetch

add(num1, num2)

Takes two numbers and returns the sum.

How it works

Screenshots

Screenshot (148) Screenshot (149)

Demo

Running on Local Machine :computer

  1. Clone the repository to your local machine:
git clone https://github.com/Nneji123/Media-Recommendation-Engine.git
  1. Install the requirements:
cd Media-Recommendation-Engine
pip install -r requirements.txt
  1. Open a bash/cmd in the directory and run:
uvicorn app:app --reload --port 8000
  1. After the above steps have been carried out you can now view the documentation of the API.

To visit the FastAPI documentation go to http://localhost:8000/ with a web browser.

Running Load Tests with Locust

  1. Make sure the API is running already from the above steps.
  2. Install locust:
pip install locust
  1. Run locust tests
  cd tests
  locust -f locust_test_load.py
  1. Set the number of IP's and address and then run the load tests

Running API Tests with Pytest

  1. Install the requirements
pip install -r requirements.txt
  1. Change the directory
cd tests
  1. Run the tests with pytest
pytest test_api.py --html=pytest_report.html --self-contained-html

Deployment

Deploy to Heroku

Assuming you have git and heroku cli installed just carry out the following steps:

  1. Clone the repository
git clone https://github.com/Nneji123/Media-Recommendation-Engine.git
  1. Change the working directory
cd Media-Recommendation-Engine
  1. Create the heroku app
heroku create your-app-name 

Replace your-app-name with the name of your choosing.

  1. Set the heroku cli git remote to that app
heroku git:remote your-app-name
  1. Set the heroku stack setting to container
heroku stack:set container
  1. Push to heroku
git push heroku main

Deploy with AWS EC2

You can also deploy the API to AWS using a free tier EC2 instance by watching the video below: How to deploy FastAPI on AWS

Contributing

Contributions are always welcome!

See CONTRIBUTING.MD for ways to get started.

Please adhere to this project's code of conduct.

FAQ

What is this API used for?

This API can be used to suggest recommendations for an end user such as movies, games, songs etc.

Can the API be deployed?

Yes

License

MIT

media-recommendation-engine's People

Contributors

dependabot[bot] avatar nancyamelia123 avatar nneji123 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.