LetsLunch / lunch

Other
38 stars 3 forks source link

Lunch

Lunch is an Android application to bring together like-minded people over lunch.

Lunch integrates with Facebook and has users choose desirable conversation topics to set up a basic profile. Users can then view 'matches' based on location, similar topics chosen, and similar Facebook likes (much like Tinder).

User flow

Screenshots coming soon!

Technologies

Configuring Lunch on your own machine

Setting environment variables

Client side

Your application IDs, provided through Facebook and Google, will need to be available to the mobile application.

Server side

Server side variables are set through the shell, and accessed using process.env.VAR_NAME in node. An actual deployment may need these to be configured in a deployment script, the format of which is dependant on your hosting service.

Bootstrapping

Off the bat, you'll need to use grunt and a local instance of neo4j.

Installing grunt

Installing neo4j

Bootstrapping a client

You can boot up a client through a browser, emulator, or mobile device. Push notifications will only function if the client is booted on a mobile device.

To facilitate testing, there is a mock polyfill for push notifications, but it will only work if the application is entered through the login screen, with window.localStorage.fbtoken undefined.

Booting up the server

Logging is available through morgan and colog. To enable logging, set your shell's DEVELOPMENT variable to enable logging. Using bash and zsh, export DEVELOPMENT=true.

Testing

A mock dataset is available for the database. To empty your database and repopulate with mock data, run node test/populateDatabase.js.