GitHub - binary100/fliq · GitHub
Skip to content

binary100/fliq

Repository files navigation

FLIQ

Commitizen friendly Travis

FLIQ

FLIQ is a learning engine-driven website for finding movies to watch. It uses a proprietary algorithm for building and evaluating user preferences based on what users tell FLIQ about what movies they like (or don't like).

Table of Contents

  1. Team
  2. Getting Started
  3. Usage
  4. Requirements
  5. Development
  6. Contributing

Team

FLIQ is being developed by four full stack engineers.

Getting Started

Follow these instructions if you want to fork the repo and start developing on your own. You do not need to follow these steps if you want to use our deployed build of FLIQ.

Prerequisites & Installing

  1. Fork the repo and clone it to your development environment of choice.

  2. To install FLIQ's dependencies, run the following command from the cloned repo's directory:

npm install

Configuration

You will need several API Keys to run your own build of FLIQ. We use the NPM package dotenv for our local environment variables. You should make a .env file, placed in your clone's root directory, that looks like this:

DB_USERNAME=(Your mysql db username)
DB_PASSWORD=(Your mysql db password)
DB_NAME=(Your mysql db name)
DB_PORT=(Your mysql db port)
DB_URL=(Your mysql db's URL)
PORT=(The port your build will run on)
GOOGLE_CLIENT_ID = (Google oauth client ID) Available from https://console.developers.google.com
GOOGLE_CLIENT_SECRET = (Google oauth client secret) Available from https://console.developers.google.com
OMDB_API_KEY = (Your omdbapi key) Available for a small fee from http://www.omdbapi.com/
FACEBOOK_APP_ID = (Facebook oauth APP ID) Available from https://developers.facebook.com/
FACEBOOK_APP_SECRET = (Facebook oauth app secret) Available from https://developers.facebook.com/
QUOTE_API_KEY = (Your quote API key) Available from https://market.mashape.com/andruxnet/random-famous-quotes
YOUTUBE_API_KEY= (Youtube Data API key) Available from https://console.developers.google.com
FACEBOOK_OAUTH_CALLBACK_URL = (Your facebook oauth callback url) Available from https://developers.facebook.com/
GOOGLE_OAUTH_CALLBACK_URL = (Your google oauth callback url) Available from https://console.developers.google.com

Keep in mind that your database's environment variable requirements may be different. FLIQ is set up to use Sequelize with mysql.

Usage

Splash

Login

FLIQ needs to track your profile in order to learn about you, so start by logging in using either Google or Facebook. After that, start picking movies to teach our learning engine about what kind of movies you like (or don't like). If you want to tell FLIQ about specific movies you like or dislike, use the search function to pick out specific movies. When you want suggestions from the learning engine, click through to the results page.

Once you've logged in and built a profile for yourself, you can visit the Dashboard (through the hamburger menu) and see a visualization of your preferences. You can also view any trophies you may have earned while using the site.

If you want to watch movies with a group of people, try FLIQ's Movie Night feature. To use Movie Night, enter the e-mail addresses of other registered FLIQ users, then click the button for suggestions. FLIQ's learning engine will do its best to aggregate everyone's preferences and pick movies for you to see.

Users that ask FLIQ for suggestions without being logged in will be shown the entire userbase's favorite movies based on all aggregated preferences. You can pick movies in the lightning round, but these selections will not be tracked until you log in.

Contact us if you have any questions!

Built With

  • React - Facebook's powerful JavaScript framework
  • Redux - Efficient state manager for web applications
  • Node.js - JavaScript runtime
  • Express- Fantastic Node.js web server framework
  • Passport - Library for various authentication strategies in Node.js
  • MySQL - Object-relational database
  • Sequelize - Powerful ORM tool for SQL databases
  • SASS - Extension of CSS
  • Chart.js - Streamlined library for visualizing data
  • Webpack - Module bundler
  • Nightmare.js - End to end testing library
  • Mocha.js - Half of a powerful JavaScript testing library
  • Chai.js - The other half of a powerful JavaScript testing library

Contributing

Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests.

Contributors are welcome and will be clearly acknowledged.

License

This project is licensed under the MIT License - see the LICENSE.md file for details

About

No description, website, or topics provided.

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

Contributors