yuchiu / Netflix Clone
Licence: mit
Netflix like full-stack application with SPA client and backend implemented in service oriented architecture
Stars: ✭ 156
Programming Languages
javascript
184084 projects - #8 most used programming language
python
139335 projects - #7 most used programming language
Projects that are alternatives of or similar to Netflix Clone
Spring Boot 2.x Examples
Spring Boot 2.x code examples
Stars: ✭ 104 (-33.33%)
Mutual labels: postgresql, elasticsearch
Scrapyd Cluster On Heroku
Set up free and scalable Scrapyd cluster for distributed web-crawling with just a few clicks. DEMO 👉
Stars: ✭ 106 (-32.05%)
Mutual labels: scrapy, web-scraping
Bug Tracker Pern Ts
Bug Tracking app with project members support. Made with PERN stack + TypeScript.
Stars: ✭ 79 (-49.36%)
Mutual labels: postgresql, expressjs
Django Zombodb
Easy Django integration with Elasticsearch through ZomboDB Postgres Extension
Stars: ✭ 136 (-12.82%)
Mutual labels: postgresql, elasticsearch
Adminer Custom
Customizations for Adminer, the best database management tool written in PHP.
Stars: ✭ 99 (-36.54%)
Mutual labels: postgresql, elasticsearch
W3develops
The w3develops.org open source codebase - Learn, build, and meetup with other developers on DISCORD https://discord.gg/WphGvTT and YOUTUBE http://bit.ly/codingyt
Stars: ✭ 120 (-23.08%)
Mutual labels: postgresql, expressjs
Scrapy Craigslist
Web Scraping Craigslist's Engineering Jobs in NY with Scrapy
Stars: ✭ 54 (-65.38%)
Mutual labels: scrapy, web-scraping
Transformalize
Configurable Extract, Transform, and Load
Stars: ✭ 125 (-19.87%)
Mutual labels: postgresql, elasticsearch
Transporter
Sync data between persistence engines, like ETL only not stodgy
Stars: ✭ 1,175 (+653.21%)
Mutual labels: postgresql, elasticsearch
Node Express Postgresql Sequelize
Node.js, Express.js, Sequelize.js and PostgreSQL RESTful API
Stars: ✭ 148 (-5.13%)
Mutual labels: postgresql, expressjs
Whatsmars
Java生态研究(Spring Boot + Redis + Dubbo + RocketMQ + Elasticsearch)🔥🔥🔥🔥🔥
Stars: ✭ 1,389 (+790.38%)
Mutual labels: rpc, elasticsearch
Aspnetcorenlog
ASP.NET Core NLog MS SQL Server PostgreSQL MySQL Elasticsearch
Stars: ✭ 54 (-65.38%)
Mutual labels: postgresql, elasticsearch
Haproxy Configs
80+ HAProxy Configs for Hadoop, Big Data, NoSQL, Docker, Elasticsearch, SolrCloud, HBase, MySQL, PostgreSQL, Apache Drill, Hive, Presto, Impala, Hue, ZooKeeper, SSH, RabbitMQ, Redis, Riak, Cloudera, OpenTSDB, InfluxDB, Prometheus, Kibana, Graphite, Rancher etc.
Stars: ✭ 106 (-32.05%)
Mutual labels: postgresql, elasticsearch
Run johnny
An endless runner game built on phaser and nodejs
Stars: ✭ 14 (-91.03%)
Mutual labels: postgresql, expressjs
Phalcon Vm
Vagrant configuration for PHP7, Phalcon 3.x and Zephir development.
Stars: ✭ 43 (-72.44%)
Mutual labels: postgresql, elasticsearch
Openrank Backend
Free and Open Source Coding Challenges Platform
Stars: ✭ 123 (-21.15%)
Mutual labels: postgresql, expressjs
Indigo
Universal cheminformatics libraries, utilities and database search tools
Stars: ✭ 146 (-6.41%)
Mutual labels: postgresql, elasticsearch
Netflix Clone
- Checkout branch "React-View" for frontend only Netflix Clone with React Redux
Quick Links
Demo
Live Site Demo
Demo: Link
Video Demo
Tech Stack
-
React ∙ Redux
- web client & client data management
-
Node.js ∙ Expressjs ∙ Jayson
- web server & services in service oriented architecure
-
Python ∙ Scrapy
- web scraper, data pipeline
-
ElasticSearch
- persisted database for movies
-
Postgres ∙ Sequelize
- persisted database for users
-
Kibana
- ElasticSearch analytics data visualization
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 MongoDB as persisted database for movie-service and sync data between ElasticSearch and MongoDB
- 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
- Not setup yet
Author
- Yu Chiu
License
This project is licensed under the MIT License - see the LICENSE file for details
Acknowledgments
- Not setup yet
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].