Skip to content

MythicalBassoon/wayd

Repository files navigation

WAYD (What Are You Doing?)

WAYD is a React Native iOS mobile application that recommends a random event in your area to help groups decide what to do.

Team

  • Product Owners: Mark Peter, Shafique Rashid
  • Scrum Master: Spencer Gulbronson
  • DevOps: Richard Castro
  • Development Team: Mark Peter, Shafique Rashid, Spencer Gulbronson, Richard Castro

Table of Contents

  1. Overview
  2. Explore
  3. Requirements
  4. Development
  5. Team
  6. Contributing

Overview

Users can input their current location or some place of their choice to receive a psuedo-random event in the area. Details and map information are provided for each event. If they don't like the event given to them, they can continue generating different events in the area.

Users will also be able to send a poll to their friends from the app, allowing for group voting on the event to see if its something everyone wants to attend. The user themself and their friends will be able to vote in the email and confirmation emails will be sent out once everyone has voted.

Explore

Gifs coming soon!

Requirements

Frontend

  • React Native: 0.18.0
  • React Native modules
    • Simple Auth: 0.3.0
    • Google-Place-Autocomplete: 1.1.6
    • React Native Maps: 0.1.5
    • Icons: 0.7.1
    • Material-Kit: 0.2.5
    • React Native Contacts: 0.2.1
    • React Native Simple Store: 0.1.0
  • Redux: 3.0.4
  • Redux-Thunk: 1.0.0
  • Moment: 2.10.6

Backend

RESTful API Server

  • Node 5.3.9
  • Express 4.13.4
  • Postgres 9.4.5.0
  • Redis 3.0.6

Micro-services

  • Node
  • Express
  • Nodemailer
  • Redis

Deployment

  • Docker
  • DigitalOcean

Development

Installing Dependencies

From the root folder of the repo:

npm install

From the post-install folder:

  • Grab/Copy the 'apikeys.js' file into three places:
  1. 'root'/Server/Workers
  2. 'root'/Server/Controllers/
  3. 'root'

or run the following commands from the post-install folder:

cp apikeys.js ../Server/Workers/
cp apikeys.js ../Server/Controllers/
cp apikeys.js ../

NOTE: You must provide your own API keys for the keys indicated in apikeys.js

  • Grab/Copy the rest of the folders within the post-install folder and paste them into the node_module directory:
yes | cp -rf DatePickerIOS.js ../node_modules/react-native/Libraries/Components/DatePicker/DatePickerIOS.ios.js
yes | cp -rf GPAutocomplete.js ../node_modules/react-native-google-places-autocomplete/GooglePlacesAutocomplete.js
yes | cp -rf REValidator.js ../node_modules/react/lib/ReactElementValidator.js
cp -rf ../node_module/react-native-maps/ios/Air* ../node_module/react-native-maps/


NOTE: You must replace the entire folder found in node_modules with the folders found in the post-install folder as shown above. Otherwise, the project will silently not compile or will encounter errors during simulation.

Running Locally iOS

  1. You must have Xcode version 7.1 or higher
  2. Run Postgres server
  3. Create database 'wayd' from Postgres-cli
  4. Run 'node Server/server.js' from the project root directoy
  5. Run 'node Server/Workers/jobserver.js'
  6. Run 'node Server/Workers/jobqueue.js'
  7. Open 'wayd.xcworkspace' in Xcode
  8. Cmd + R or press Run to build app in xcode simulator

Optionally: A docker .yml file is provided as well as the accompanying DockerFile(s) that create docker containers that will host your server.js, jobserver.js, and jobqueue.js as shown above. You may alter the client side variables to use localhost routes instead of docker routes. To run locally, you must change the host variable in three files in the app/components directory (login, eventrec, email) and take the hashbang off "process.env.DEPLOYED".

API

Main Server
Request URL Resonse
Get Events /api/events/?loc=lat,lng&timeframe=date EventArray
Post Poll Vote /api//polls/:voteAction/:emailId VoteStatus
Post New User /api/users User ID
Post New Poll /api/polls Poll ID

Roadmap

Coming Soon!

Contributing

See CONTRIBUTING.md for contribution guidelines.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •