- GraphQL (http://graphql.org/learn/)
- GraphQL-as-a-service (http://graph.cool)
- React-native (https://facebook.github.io/react-native/)
- Redux (http://redux.js.org/)
- Redux-thunk (https://www.npmjs.com/package/redux-thunk)
- Request (https://github.com/graphcool/graphql-request)
- Lodash (https://lodash.com/)
User -> UserTeam -> Team (A user can have many teams)
- User: default entity provided by graph.cool.
- it has a relation to the UserTeam type as a 1-Many mandatory relation
- UserTeam is a "meta" type (https://www.graph.cool/docs/faq/graphql-meta-information-for-relations-shu9xee3ou/)
- It has a relation to the Team type as a 1-1 optional relation
- Team is another first class type.
Each GraphQL type is a separate reducer in the app which captures the state for each instance.
- Assumes the user is logged in and result stored in the authStore (authReducer)
- Assumes that the boilerplate app setup is completed