Old-Parked-Repositories / Netflix-Clone

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Netflix Clone

  • Checkout branch "React-View" for web-client only Netflix Clone with React Redux
  • Currently under rework for full-stack expansion

Quick Links

Tech Stack

Objectives

Getting Started

Deployment

Author

Acknowledgments


Tech Stack


Objectives

Current Plan for Full-Stack Expansions

  • service oriented architecure
  • REST for client service communication, JSON RPC for inter service communication
  • scrape raw data from imdb
  • provides processed movies data with our movie service API
  • persisted ElasticSearch for movie's database for optimized search functionality
  • display stats with Kibana
  • containerize services and database with Docker

Future Expansions

  • microservices?
  • Message Queue for all inter service communications?
  • Machine Learning recommendation system?
  • Machine Learning classification for movie collections?
  • scrape videos for movies?
  • stream videos?
  • rating system?
  • payment system?
  • CI pipeline with Jenkins?

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
Optional for production deployment
docker 18.06.1-ce
docker-compose 1.22.0

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 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

  • Not set up yet

Author

  • Yu Chiu

License

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


Acknowledgments

  • Not set up yet

About

License:MIT License


Languages

Language:JavaScript 73.3%Language:Python 18.9%Language:CSS 6.1%Language:HTML 1.7%