An iOS and Android mobile app built with React Native and Expo. Server provides Apollo GraphQL API and REST API endpoints with SQLite.
- Clone this repository and run
cd rate-githubto set the current directory to the app. - Run
npm install. - Run
npm startand record the IP address betweenexp://and:. PressCtr-Cto stop. - Copy the contents of the
.env.templatefile into an.envfile. In the.envfile, replace<EXPO_IP_ADDRESS>inAPOLLO_URLwith the previously recorded address. - Outside the
rate-githubdirectory, follow the app server instructions to set up the backend. - In one terminal window, run
npm startin therate-github(client) directory. - In another terminal window, run
npm startin therate-repository-api(server) directory. - Connect an iOS or Android emulator, or install the Expo app on your device and scan the QR code in the Expo development tools.
- Sign up, sign in, sign out
- Review GitHub repositories
- Sort by latest, highest rated, and lowest rated repositories
- Filter repositories
- View and delete your own reviews
- Infinite scrolling on repositories page and reviews on single repository page
- Apollo Boost library for GraphQL Apollo Client
- AsyncStorage to save user's session
- Formik for forms and Yup for input validation
- React Router for content navigation
- Jest and React Native Testing Library to test
- Debounces filter value with use-debounce to decrease server load while user types
Home - view repositories and sort and/or filter
Repository View - single repository view shows details from home, reviews, and a button to view online
Create Review - signed-in users can review repositories
My Reviews - signed-in users can view and delete reviews that they created
Sign In - users can sign in to accounts
Sign Up - users can create accounts with a username from 1-30 characters and a password from 5-50 characters





