xiaoyunyang / react-native-travel-app

An travel itinerary creation and management application built in ReactNative and GraphQL
20 stars 20 forks source link
graphql javascript mobile reactnative

Travel Planning App

Made with React Native and GraphQL

To run in iOS simulator

$ npm install
$ react-native link react-native-gesture-handler
$ react-native link react-native-vector-icons
$ react-native run-ios

GraphQL:

We use Graphcool for prototyping. The Graphcool service is deployed to this endpoint: https://api.graph.cool/simple/v1/cjrh62bkka7l501132k2sp85b

To learn more about GraphQL:

Product Specification

App Name: Travel Japan

App Description: This app provides a list of things to do for you and your friends traveling together in Japan. You can add up to 3 people to your travel group. Pick which date to start your trip and also how long you plan to stay in Japan. Let the app take care of the rest of the planning

Additional Info: This App is for planning a trip with your friends. It gives you:

Travel Japan on App Store

Download Link on App Store: https://itunes.apple.com/us/app/travel-japan/id1260677523?mt=8

Dev Information

Running the app

Components

ActivityList

MyList

Calendar

Access Data for The App

The Data used to generate to App is stored here: japan.json

japan.json contains FIELDS, which is an array of objects:

"FIELDS": [
  {
    "id": 0,
    "title":"Arrive at Haneda Airport",
    "subtitle": "Yay Japan!",
    "tags": ["Xiaoyun", "Andrew", "Kyle"],
    "active": true,
    "date": "Mon Aug 07 2017",
  }, {
    "id": 1,
    "title":"Check into Ginza Bay Capsule Hotel",
    "subtitle": "Ginza is an area in Tokyo with a lot of shopping",
    "tags": ["Xiaoyun", "Andrew", "Kyle"],
    "active": true,
    "date": "Mon Aug 07 2017",
  }
]

detail.json is a set of objects that looks like this:

{
  "0": {
    "todo": "Take the Keiyu-Kuko (red) Line to Higashi-ginza Station (where the capsule hotel is)",
    "image": "none",
    "link": "none",
    "markers": [
      {
        "title": "Haneda Airport",
        "coordinate": {"latitude": 35.549358, "longitude": 139.779839}
      }, {
        "title": "Metro Station",
        "coordinate": {"latitude": 35.544854, "longitude": 139.767124}
      }
    ]
  },
  "1": {
    "todo": "Check in the the hotel",
    "image": "none",
    "link": "none",
    "markers": [
      {
        "title": "Tokyo Ginza Bay Hotel",
        "coordinate": {"latitude": 35.667492, "longitude": 139.763868}
      }
    ]
  },
  ...
}

The Details component gets data from detail.json:

Details Page

TODO

Dependencies:

Before You start react-native run-ios in terminal, install the dependencies:

React Navigator
Dependencies

Useful Resources: