/reddit-hot-pics

Primary LanguageJavaScriptMIT LicenseMIT

Reddit Hot Pics

Usage GIF Infinite scroll GIF

Requirements

To develop locally, expo-cli is necessary.

Getting started

  1. Install all necessary packages with yarn install or npm install.
  2. Execute npm start or yarn start to start the local development server of Expo CLI.
  3. You can also run platform specific server by running either yarn ios or yarn android.

Technical notes

  • bootstrapped using expo-cli
  • axios is used to create service to call Reddit API - it's easy to extend and catches a lot of errors that native fetch does not
  • moment library is used for time (of post creation) formatting
  • numbro library is used for number formatting (e.g. post score and number of comments)
  • rendering errors are caught using ErrorBoundary HOC
  • network errors are caught and displayed using dropdown alert library
  • pull to refresh and infinite scroll are implemented using react native's components and APIs (FlatList implements it)
  • ESLint is used as a source code styling guide

Download

Download already built Android app. -> Link

Credits

Design was inspired by official Reddit Android app.

License

MIT