- Checkout branch "React-View" for frontend only Netflix Clone with React Redux
Demo: Link
- 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
- 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
- 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
- containerize services and database with Docker
- 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?
!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 |
---|---|
npm | 6.1.0 |
pip | 9.0.1 |
nodejs | 10.7.0 |
python | 2.7 |
elasticsearch | 6.3.1 |
postgres | 10.5 |
- 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"
-
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
-
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
- install dependencies & start Web-Server
cd web-server
npm install
npm start
Application will be serving on http://localhost:3030
- install dependencies & start application
cd web-client
npm install
npm start
Application will be serving on http://localhost:3000
- Not setup yet
- Yu Chiu
This project is licensed under the MIT License - see the LICENSE file for details
- Not setup yet