MongoDB Netflix Clone

Atlas Search Workshop

Hello! 👋 This movie search application allows you to search lightning fast through a wide variety of data types through the sample_mflix.movies dataset offered free to download on MongoDB Atlas.



The MongoDB Netflix Clone implements many Atlas Search features from autocomplete to custom function scoring. Using the $search operator in a MongoDB aggregation pipeline, we can build fine-grained searches across text, numerics, and geospatial data. By building out this application, you'll learn all sorts of ways MongoDB allows you to build complex, fine-grained full-text searches on your Atlas data.

No additional servers or software needed. No need to keep data in sync. Everything is done in MongoDB Atlas.

Current features implemented in this Movie Search Engine demo application include:

  • fuzzy matching
  • highlighting
  • autocomplete
  • relevance-based scoring
  • custom function scoring

Future Atlas Search features to implement can include:

  • facets
  • synonyms

netflixclone-xwaaq.mongodbstitch.com

This application was created using:

  • React
  • MongoDB Realm for backend HTTPs endpoints and webhooks
  • The Atlas sample dataset of sample_mflix.movies

API Points of Integration

This application is hosted entirely on Realm and calls 2 API endpoints:
  • getProductsEndpoint in the Home.js page on line 24
  • Suggestions_AC_Endpoint, used for autocompleted product names, in the Header.js component on line 17.

Currently this app is not suitable for mobile, but feel free to send a PR. 😊

Prerequisites

  • A MongoDB Atlas account. Get one for free here.
  • A recent version of Node.js and npm.
  • Atlas sample dataset
  • (Recommended) MongoDB Compass - GUI

This application is hosted entirely by MongoDB Atlas was created using:

  • React
  • MongoDB Realm for backend HTTPs endpoints and webhooks
  • MongoDB's Atlas sample_mflix dataset

Prepare Data

  1. Load data to Atlas cluster:
    • database: sample_mflix
    • collection: movies
  2. Create Search indexes.

To Build and Run This Application....

  1. Clone the repo.
  2. Navigate inside directory.
  3. Run npm install .
  4. Run npm start .

Runs the app in the development mode.
Open http://localhost:3000 to view it in your browser.

Atlas Search Workshop:

https://www.atlassearchworkshop.com

React Components:


If you have any questions or feedback about this repo, feel free to create an Issue or PR in this repo or reach out to me on Twitter @YouOldMaid.

Also please join our online MongoDB Community to interact with our product and engineering teams along with thousands of other MongoDB and Realm users.

Have fun and happy coding!