Have you ever found yourself in an endless loop? Scrolling, all day, all night, in search of a movie...with no end in sight?
Well, MovieMatchMaker might just be for you.
At its core, MovieMatchMaker is really just Tinder, although for Movies. We were inspired by Tinder and the ability to "match" with people.
However, as we all know (unless you're Brad Pitt): Tinder is Pay to Win.
So naturally, what we did was utilize the MERN (MongoDB - Express - React - Node) stack to flip that concept upside down. 😎
- React-Tinder-Card
- To enable Tinder-like swiping
- Redux
- Store the global application state
- React
- Reusable Components and Robustness
- MongoDB
- NoSQL Database for easy CRUD operations
- TheMovieDB
- Data store for our algorithm
- Webpack
- Module builder and code splitting
- HTTP-Proxy
- Frontend/Backend communication synchronously
- Express
- Manage API, server, and routes
- Create React App
- Simple React boilerplate builder
To run the project locally, navigate to your command line and type:
git clone https://github.com/CS290-Final-Project-Team-24/TinderForMoviesV2.git
Next, cd into the directory
cd TinderForMoviesV2
Once you're there, you'll need to install the packages from npm
npm install
Notice! Don't forget run npm install in ~/TinderForMoviesV2/client
The server side uses a .env file to project secrets, so create a .env in the root directory
touch .env
Grab an API Key from TheMovieDatabase API and put it in the created .env file
The .env file should look something like this:
PORT=[YOUR LOCALHOSTPORT HERE]
REACT_APP_TMDB_API_KEY=[YOUR THEMOVIEDB API KEY HERE]
URI=[YOUR MONGO DB URI HERE]
JWT_SECRET_KEY=[YOUR JSON WEB TOKEN KEY HERE]
You can now run a devlopment environment with Hot Module Replacement by navigating to the root dir and using:
npm run dev
Or you could just watch a demo of how our app currently works before it's fully ready to be deployed. 🤫
- Bring over V1 files
- Add Routes
- File Seperation
- Connect MongoDB
- Style Each Route
- Incorporate the Recommendation Algorithm
- Finish Documentation
- Figure out data collection