Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/MovieMatchMaker/TinderForMoviesV2


https://github.com/MovieMatchMaker/TinderForMoviesV2

Last synced: 4 days ago
JSON representation

Awesome Lists containing this project

README

        






By Tom Nyuma, Artem Kolpakov, and Daniel Zahariev













What is "MovieMatchMaker"? 🧐


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.

Overview


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



Quick Specs

- [React-Tinder-Card](https://github.com/3DJakob/react-tinder-card)
- To enable Tinder-like swiping
- [Redux](https://redux.js.org/)
- Store the global application state
- [React](https://reactjs.org/)
- Reusable Components and Robustness
- [MongoDB](https://www.mongodb.com/)
- NoSQL Database for easy CRUD operations
- [TheMovieDB](https://developers.themoviedb.org/3/getting-started)
- Data store for our algorithm
- [Webpack](https://webpack.js.org/)
- Module builder and code splitting
- [HTTP-Proxy](https://www.npmjs.com/package/http-proxy-middleware)
- Frontend/Backend communication synchronously
- [Express](https://expressjs.com/)
- Manage API, server, and routes
- [Create React App](https://create-react-app.dev/)
- Simple React boilerplate builder

Installation


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](https://developers.themoviedb.org/3/getting-started/introduction) 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](https://drive.google.com/file/d/1Ml4DUwqGsJUOtaRiTPDloRr0rATGGXKh/view?usp=sharing) of how our app currently works before it's fully ready to be deployed. 🤫

### Happy Swiping, and Go Beavs! 🦦

## License

[MIT License](https://opensource.org/licenses/MIT)

## To-Do

- [x] Bring over V1 files
- [x] Add Routes
- [x] File Seperation
- [x] Connect MongoDB
- [x] Style Each Route
- [ ] Incorporate the Recommendation Algorithm
- [x] Finish Documentation
- [x] Figure out data collection