/YJCApp

a job notification app for youth job center

Primary LanguageJavaScript

YJC

A job listing and matching system built for the Youth Job Center in Evanston

Technical

The system uses the following to work properly:

Web App Structure

controllers/ --all module-specific routing go here models/ --all model functions interacting with Parse backend go here views/ --all views go here (under respective module folders) app.js --main application file config.js --app configurations main.js --all Parse Cloud Code routes.js --main app routing

Installation Instructions

To install a working version of the app go to the Google Play Store:

To download the code for development:

  1. Install appgyver supersonic:

AppGyver Supersonic Install Instructions Helpful tips for Supersonic install

  1. Download latest release of application from github:

YJC Release

  1. Change directory in termial to unzipped folder YJCApp-X.X

  2. Run the following on your terminal

$ steroids login
$ steroids update
$ bower install jquery
  1. Create the following files:

  2. global.json in the cloudcode/config directory

put the following in cloudcode/config/global.json:

{
  "global": {
    "parseVersion": "1.4.2"
  },
  "applications": {
    "YJCApp": {
      "applicationId": "your-parse-application-id",
      "masterKey": "your-parse-master-key"
    },
    "_default": {
      "link": "YJCApp"
    }
  }
}

You can find the parse master key by logging into your parse.com account selecting YJCApp, going to settings, and then then going to keys.

  1. keys.js in cloudcode/cloud/

put the following in cloudcode/cloud/keys.js:

var keys =  {
  "twilio": {
    "accountSid": "your-twilio-accountSid",
    "authToken": "your twilio-authToken"
  },
  "google": {
    "GCM": {
      "auth": "your-google-gcm-authorization-key""
    }
  }
};

module.exports = keys;

You can find the twilio api keys by logging in to your twilio account, going to dashboard then clicking Show Api Credentials.

You can find the google gcm auth token by logging in to google developer account, going to Google Developer Console click on the YJCApp project, click on APIs & auth on the left sidebar, then click on Credentials. Copy the Api key under Key for server applications.

Build and Deploy

To build the app run on terminal:

$ steroids connect

This will open a page in your browser with a QR code. User the AppGyver scanner application from the Play Store to scan this QR code. This will open a test version of the application onto your phone that is useful for debugging.

To deploy the application to either the Play Store or Apple App Store use the following instructions:

When configuring the build settings on the appgyver cloud, please include the following under the Plugins section:

[
  {"source":"https://github.com/AppGyver/PushNotifications#next"}
]

For more information on plugins, build configuration, and deploying to the play store please view the private google drive document on the developer account.

Issues and Limitations

Issues:

  1. After change password in app, the user will not be able to view the show details page or express interest in a job due to an invalid session token error. The user will need to restart the app to fix the problem
  2. Scroll up to refresh works inconsistant on IOS.

Limitations:

  1. For now the push notification only works on Androids, will not work on IOS. here are some links may help to set push notification on IOS: * Appgyver push notification doc * EECS394 course page
  2. Tab bar icons on scanner works well but when deploy to Android, only click on text below the tab icon will work.

Additional Links