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.
https://friendzone-2.herokuapp.com/
- 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
From within the root directory:
npm install
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 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
- In one terminal window, run
npm run react-dev
to launch webpack - In a different terminal window, launch your local MongoDB server (usually
mongod
) - 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.
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 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.
View the project roadmap on Trello here.
See CONTRIBUTING.md for contribution guidelines.