Skip to content

Commit

Permalink
Merge pull request #2 from MagnusS0/MagnusS0-patch-1
Browse files Browse the repository at this point in the history
Update README.md
  • Loading branch information
MagnusS0 authored Sep 24, 2023
2 parents 026a0f0 + c69319d commit f03ea17
Showing 1 changed file with 11 additions and 5 deletions.
16 changes: 11 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,8 @@


This is a Python project to build a movie recommendation system using data extracted from a movie database API. <br>
The project follows the guided blueprint provided by [Ploomber](https://github.com/ploomber/sql/tree/main), focusing on writing professional, modular, and well-documented code with thorough docstrings and exception handling within an OOP framework.
The project follows the guided blueprint provided by [Ploomber](https://github.com/ploomber/sql/tree/main), focusing on writing professional, modular, and well-documented code with thorough docstrings and exception handling within an OOP framework. <br>
Additionally I have added a simple frontend using Streamlit. The entire application is containerized using Docker for easy setup and deployment.

## Table of Contents

Expand Down Expand Up @@ -56,10 +57,9 @@ cd movie_rec_system
```

### Run - with Docker 🐳

> Remember to add your own API key to .env
```sh
docker build --build-arg API_KEY=your_api_key -t movie_rec_system:latest -f Dockerfile .
docker run -e API_KEY=your_api_key -p 8000:8000 movie_rec_system:latest
docker-compose up --build
```

### Run - locally 💻
Expand All @@ -77,10 +77,15 @@ poetry install
```sh
poetry run ploomber build
```
4. Run the app (make sure you are in the right dir)
4. Run the app
```sh
uvicorn app.app:app
```
5. Run the frontend (optional)
> Make sure you are in the right dir `frontend`
```sh
streamlit run frontend_app.py
```
</details>

## Data 📊
Expand All @@ -100,6 +105,7 @@ Then, cosine similarity is computed between these vectors to determine the simil
Based on this similarity score, the system recommends movies that are most similar to the given input movie title.

## Modules
- `frontend/frontend_app.py` contains the Streamlit application code
- `app/app.py` - contains the FastAPI application code
- `app/recommender.py` - generates movie recommendations
- `app/recommenderhelper.py` - contains helper functions for the recommender
Expand Down

0 comments on commit f03ea17

Please sign in to comment.