Giter Site home page Giter Site logo

moviescope's Introduction

Moviescope

Moviescope is a personal movie journal, which helps users to track films they have watched or want to watch in the future. A user can search for a movie by title, add reviews and ratings, and store it in a personal journal. Also, Moviescope provides a list of recommendations matching the user’s taste. A user can compile a wishlist of films and find watch options on streaming services and in theaters.

Contents


Technology Stack:

Backend: Python, Flask, PostgreSQL, SQLAlchemy
Frontend: JavaScript, jQuery, AJAX, JASON, Jinja2, Bootstrap, HTML5, CSS3
APIs: OMDB, Recombee, JustWatch
Dataset: MovieLens


Features

  • On ‘Add Movie’ page user may search movie by title in IMDB, add movie to wishlist, rate it, write a review and store in personal journal alt text

  • One 'movie journal' page user may navigate through saved movies by scrolling the table, see movie information, personal ratings and reviews, delete movie from journal or edit review. alt text

  • To change a review or rating, click ‘Edit’ button. This form shows the most recent rating and review. When user clicks 'confirm', the changes are saved on the server and journal table is updated dynamically. alt text

  • On Homepage page user may see personalized movie recommendations. alt text
    Recommendations on the Movie page consider the currently selected movie as well as the user's general movie preferences.
    alt text

  • Wishlist page collects movies user saved to watch in the future. User may rate movie and add to personal journal, find watch options or delete movie from this list
    alt text

  • On Watch It page user may see offers from three most popular providers or link to showtimes in theaters. alt text


Installation

To run Moviescope:

  • Install PostgreSQL

Clone or fork this repo:

https://github.com/LisaLen/Moviescope.git

Create and activate a virtual environment inside your Moviescope directory:

virtualenv env
source env/bin/activate

Install the dependencies:

virtualenv env
pip3 install -r requirements.txt

Obtain API keys to use OpenDB API and Recombee API
Save your API keys in a file called secrets.sh using this format:

export DB_NAME="RECOMBEE_DB_NAME"
export SECRET_TOKEN="RECOMBEE_SECRET_TOKEN"
export OMDB_API_KEY='OMDB_API_KEY'

Source your keys from your secrets.sh file into your virtual environment:

source secrets.sh

Set up the database:

createdb journal
python  -i model.py
db.create_all()
set_val_user_id()

Run the app:

python3 server.py

You can now navigate to 'localhost:5000/' to access Moviescope.

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.