We're excited that you want to join us at Flex!
To help you understand what kind of work you'd be doing at Flex (and to help us assess your skills), we'd like you to build a simple React Native app.
We hope this will be a fun exercise for you!
- Create a React Native app project
- Create a login page with email and password fields. To test the app, use
codechallenge@sweatflex.comandcodechallenge. - After submitting the form, send a POST request to http://staging.sweatflex.com/api/v1/auth with body
{"email":"...","password":"..."}. Don't forget to setAccept: 'application/json'and'Content-Type': 'application/json'header fields. - Save the
tokenfield from the response. - Fetch a list of classes using the following GraphQL query to http://staging.sweatflex.com/graphql. You'll need to include
Authorization: Bearer TOKENwhereTOKENis your token from the previous step.{ videos { duration(unit: MINS) name image_url stream_url } } - Display a list of these classes
- When a user clicks a class, navigate to a class detail view.
- On the class detail, display information about the class.
- Allow the user to start playing the video. You can display the video in the same view, or navigate to a separate full-screen view.
- If you have extra time, you can take inspiration from the Flex app for more features, or add any other feature you think would be useful.
- Fork this repo and submit the final version as a pull request. Commit as needed.
- You can use any resource you find on the web.
- Visual design is not rated. We have a designer for that.
- Code design, on the other hand, is an important criterion during evaluation.
- You shouldn't need to spend more than 2 hours on this. Most people finish within 1 hour.
- Functionality
- Code quality
- Ability to explain your decisions in a post-challenge interview.
- (Optional) Bonus points for tests, flow/typescript