/hacktile

Primary LanguageTypeScript

Lab In Hands - Hybrid

Bookmarks

1.0 resources

Development Environment Setup

  • XCode - 8.2
  • Android Studio - 2.3.3
  • Node.JS - 6.5.0
  • Yarn - 0.24.6
  • Watchman - 4.7.0

Project Main Dependencies

Setup

(This instructions assume you have brew, node and are using yarn as the node package manager)

  • Install Watchman brew install watchman
  • Install the react-native CLI npm install -g react-native-cli
  • Run yarn install to install the project's dependencies (please, use Yarn when running this project, so we can keep yarn.lock updated)

Running the Project

  • Run yarn start:ios for iOS version
  • Run yarn start:android for Android version

Important: for the Android Version you may need to follow the steps listed on:

The corresponding emulator should be automatically opened.

Managing the GraphQL Schema

  • Run yarn graphql-schema to update our local copy of the graphql schema.
  • Run yarn graphql-generate-types to generate the types based on your queries. Run it everytime you create a new query. (Queries must be created inside *.graphql.ts files to be properly converted and able to be used in the app)

yarn prestart will run both commands in sequence.

Troubleshooting

Built app failing to run

Examples: Could not find index.<platform>.js

  • Please, check your watchman version. (The tested version is listed here)

  • Try closing the React packager (terminal window that should open up automatically) and clean its cache by running ./node_modules/react-native/packager/packager.sh start --reset-cache.

App fail after copy new asset file

  • After insert new asset file in the project, you should always restart the build (yarn start:ios / yarn start: android) and also the packeger.

Architecture Overview

Provide an overview about the project's architecture, and the comunication with external servers and services. List all external communications and provide images and diagrams if necessary

Production/Staging Deploy

Give instructions on how to deploy the app/server for production and Homologation environments. For more complicated deploys, you can use an auxiliary document on Docs/DEPLOY.md, pasting the link here.

External components

List all external components of the project and their versions. Highlight any technical issues with them and explain the use of the less obvious ones. For more complicated environments (i.e. complex servers), you can use an auxiliary documentation on Docs/COMPONENTS.md, pasting the link here.

Main technical issues and debts

List all main technical issues of the project. The ones that are relevant for future maintenance service.

Also, list and link all technical debts issues left open on GitHub