mkchang / FriendZone2

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

FriendZone

FriendZone is an app that matches people who share common interests. It uses cutting edge testing algorithms to optimize user experience and provides them with a select list of their best matches. Users are also able to easily communicate with their matches through in-app services. The app aims to create a simple yet effective user interface that is intuitive and aesthetically pleasing.

Team

Table of Contents

  1. Usage
    1. App
  2. Requirements
  3. Development
    1. Installing Dependencies
    2. Obtaining required config information
    3. Database data
    4. Running a local server
    5. Testing
    6. Tasks
    7. Deployment
    8. Roadmap
  4. Contributing

Usage

App

https://friendzone-2.herokuapp.com/

Requirements

  • Node 6.11.x
  • Express 4.15.0
  • React 15.6.x
  • ReactDOM 15.6.x
  • jQuery 3.1.1
  • Mongoose 4.8.6
  • Body parser 1.17.2
  • Passport 0.4.0

Development

Installing Dependencies

From within the root directory:

npm install

Obtaining required config information

For local development, configuration files are required: server/config/session.config.js and server/config/twitter.config.js Use the example files to fill in the necessary information. A Twitter account is required to register a Twitter App.

Database data

Database data is populated on-load when you start the server This is executed in database-mongo/index.js If you don't want the database to be dropped and reloaded with the test data, then comment out the last group of code

Running a local server

  1. In one terminal window, run npm run react-dev to launch webpack
  2. In a different terminal window, launch your local MongoDB server (usually mongod)
  3. In a different terminal window, run npm run server-dev to launch the server, go to http://127.0.0.1:8080/. Note, this assumes the callback url you set with Twitter in the earlier step Obtaining required config information.

Note: Recommended to use 127.0.0.1, but the alternative is to use localhost. Only use one, do not mix and match, or you may run into issues with the auth callback.

Testing

Tests are done with Jest and Enzyme. Other packages used:

Run tests in repo root folder with

npm test

Test results will be displayed in a browser at http://127.0.0.1:8081/.

Tests are named as <module/stack tested>Spec.js.

Deployment

Deployment for this app was done on Heroku.

Provision a MongoDB addon for each app in your pipeline (mLab was used for this app).

Config variables will have to be set that match the *.config.js files listed under Installing Dependencies.

Roadmap

View the project roadmap on Trello here.

Contributing

See CONTRIBUTING.md for contribution guidelines.

About


Languages

Language:JavaScript 98.8%Language:HTML 1.2%