Skip to content

Instantly share code, notes, and snippets.

@tuandinh0801
Last active November 19, 2019 07:42
Show Gist options
  • Save tuandinh0801/2c28a5d8221a07240550d2daa16bc402 to your computer and use it in GitHub Desktop.
Save tuandinh0801/2c28a5d8221a07240550d2daa16bc402 to your computer and use it in GitHub Desktop.
React native movies

1. Write an application in React Native:

Time spent: 15 hours spent in total

2. Features Required:

The following required functionality is completed:

  • [] User can view a list of movies currently playing in theaters. Poster images load asynchronously.
  • [] User can view movie details by tapping on a cell.
  • [] User sees loading state while waiting for the API.
  • [] User sees an error message when there is a network error.
  • [] User can pull to refresh the movie list.
  • [] Infinite load (lazy load) the movie list.
  • [] Add a tab bar for Now Playing, Top Rated and Favorite movies.
  • [] Add a search bar.
  • [] All images loading progress
  • [] For each Item, user can: Add to favorite.
  • [] For each Item in Favorite tab, user can: Remove from favorite.

The following advanced features are implemented:

  • [] Use Animated library to improve UX.
  • [] User can: Filter (type, date, favorite), Sort (Title, Date), Pagination (optional).
  • [] For the large poster, load the low-res image first, switch to high-res when complete.
  • [] List anything else that you can get done to improve the app functionality!

Optional

  • [] Write native calendar view for showing movie release date as an event.

4. Tech Requirement:

  • Must use react-native init.
  • Must not use Expo or create-react-native.
  • Must not use any other boilerplates.
  • The favorite list should use Async Storage or your preferable storage service.
  • Apply git workflow (Pull Requests, Branches, ...).

5. Plus points:

  • Config Eslint, whatever rulesets (Google, Airbnb, Standard, ...).
  • Styling by StyleSheet or Style components.
  • No UI framework.
  • Use Redux, Mobx, Flux.
  • Config separately for the production and development environment.

6. Demo

https://imgur.com/lp7rSpj GIF created with LiceCap. UI Demo

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment