Code Monkey home page Code Monkey logo

playbox-ott's Introduction

Playbox OTT

  • Checkout branch "React-View" for frontend only Playbox with React Redux

Quick Links

Demo

Tech Stack

Implementation Hightlights

Getting Started

Deployment

-[Heroku deploy]

Author

Acknowledgments


Demo

Live Site Demo

Demo: Link

Video Demo

demogif


Tech Stack


Implementation Highlights

  • single page application web client with React & Redux
  • service oriented architecure backend
  • REST for client server communication, JSON RPC for inter service communication
  • scrape raw movie data from imdb
  • provides processed imdb movies data with our movie service API
  • persisted ElasticSearch for movie's database for optimized searching capability
  • PostgreSQL for user's database

User Stories

  • users can register and log in to their account
  • landing page has collections of movie for recommendations
  • users can search for movies
  • users can browse search result by pages
  • users can select and view details of a movie
  • users can see his/her history of browsed movie
  • users can add or remove movie to his/her bookmark

Current Plans for Expansion

  • containerize services and database with Docker

Future Plans for Expansion

  • seperate search into its own service that utilize ElasticSearch, use Cassandra as persisted database for movie-service and sync data between ElasticSearch and Cassandra
  • Machine Learning recommendation system?
  • Machine Learning classification for recommended movie collections?
  • scrape and stream videos for movies?

Getting Started

Prerequisites

!important .env file is required for setting up environment variables for this project
an example of .env file is located at root directory

Tools & Versions

Tools Versions
npm 6.1.0
pip 9.0.1
nodejs 10.7.0
python 2.7
elasticsearch 6.3.1
postgres 10.5

Building Data Pipeline

Data Fetcher

  • install dependencies
pip install -r requirements.txt
  • start scraper pipeline for fetching raw data from IMDB, process and store to ElasticSearch
cd data-pipeline/imdb_scraper
scrapy crawl "imdb_spider"

Serving Application

Movie Service

  • dependent on ElasticSearch as data source

  • install dependencies & start Movie-Service

cd movie-service
npm install
npm start

Application will be serving on http://localhost:3230

User Service

  • dependent on PostgreSQL as data source

  • install dependencies & start User-Service

cd user-service
npm install
npm start

Application will be serving on http://localhost:3130

Web Server

  • install dependencies & start Web-Server
cd web-server
npm install
npm start

Application will be serving on http://localhost:3030

Web Client

  • install dependencies & start application
cd web-client
npm install
npm start

Application will be serving on http://localhost:3000


Deployment

  • Deploy on Heroku

Author


License

This project is licensed under the MIT License - see the LICENSE file for details


Acknowledgments

  • Not setup yet

playbox-ott's People

Contributors

arunsingh avatar

Stargazers

Szesztay Ágoston avatar Roman avatar Naresh Arelli avatar Ashley D avatar

Watchers

James Cloos avatar  avatar  avatar

Forkers

mdnoyanred

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.