Skip to content

A small example app to experiment with React Native

Notifications You must be signed in to change notification settings

szymonkoper/RNGitHubUsers

Repository files navigation

RN GitHub Users

License

An example project implemented in React Native. It uses mostly: redux, lottie, mocha, detox, GraphQL and other...

In the app you can look for GitHub users and list their repositories. Informations are presented in two screens.

Examples

Animations

AnimationiOS

Owners screen

AndroidOwner iOSUsers

Repos screen

AndroidRepos iOSRepos

Before you start

  • Install packages by npm install.
  • App uses GitHub GraphQL API. Use the following steps to get access to it:
  • generate a token at https://github.com/settings/tokens,
  • make a new file token.js with the contents of default.token.js,
  • insert your token inside the new token.js file.
  • App is ready to start! 🎉

What is missing

  • persistent storage usage,
  • Flow or TypeScript usage,
  • pagination of query results,

Packages used

Package Description
sort-by-chain simple package for sorting, created by me
redux predictable state container
lottie animations for presenting empty list, loading and error
react-apollo GraphQL client library for React
lodash library with lots of tools, from which I used debounce for data fetching
moment js tool for dates and times
react-navigation in-app routing and navigation
react-native-elements UI components (SearchBar, ListItem)
moment js tool for dates and times
mocha unit test framework
detox gray-box UI test and automation framework
eslint linter with ES6 and JSX support
babel ES6 transpiler

License

Copyright 2018 Szymon Koper

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

About

A small example app to experiment with React Native

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published