Skip to content

Latest commit

 

History

History
81 lines (68 loc) · 3.38 KB

INSTRUCTIONS.md

File metadata and controls

81 lines (68 loc) · 3.38 KB

Rick and Morty

Assignment

​ Build an application that displays the characters’ profiles of the Rick & Morty sitcom using the Rick & Morty API. ​ The app should be a React application built with TypeScript. ​ You’re free to choose whether to implement standard pagination or infinite scrolling. ​ You’re free to choose whether to use the REST API or GraphQL API. ​ You can find the design we expect you to implement here. ​ The project has already the following scripts setup:

  • android: Starts the Android app
  • ios: Starts the iOS app
  • test: Run tests using Jest
  • typecheck: Typecheck code with TypeScript
  • start: Starts the Metro bundler ​ Styling the app with a CSS-in-JS solution, like styled-components, is a plus. You should not use ready-to-use design system libraries (e.g., Chakra UI, Material UI, Bootstrap, etc.). ​ You’re free to pick the vendors you consider necessary for the exercise, but be careful that overcomplicating the implementation might negatively influence the evaluation.

You're free to choose the platform (iOS or Android) on which you want to develop the application. Be careful that this platform will be the one on which we'll evaluate your assignment.

Heads UP

​ The project shouldn’t rely on global dependencies. The coding challenge will be considered unsuccessful if the project won’t compile after we install its dependencies. ​ If a particular Android SDK should be used instead of the default one (API 33), it should be specified in the README.

The version of Node that should be used to run this project is specified in the .nvmrc file. If you want to use a different version, you should update .nvmrc accordingly. ​

Definition of done

The app runs without errors on the selected development platform and has all the features shown in the design.

The test and typecheck scripts work without errors.

Suggestions

​ We won’t test the app on iPad/tablet environments, so we suggest you focus on the mobile experience. ​ Find meaningful names for your components, functions, and constants: the easier will be to follow your code and reasoning, the better. ​ Prefer a declarative and composable coding style, taking advantage of well-known functional programming paradigms that would make your project easy to iterate on. ​ Use modern React techniques and tools like hooks and contexts, where appropriate. This will give us the opportunity to better assess your library knowledge.

We haven't set up linting. Consider doing that yourself, given Code Quality is a scoring metric. =) ​

Score

​ The score will depend on the following evaluation criteria, listed below in alphabetical order:

  • Architecture
  • Code notes/comments
  • Code quality
  • Commit message semantic
  • Consistent coding style
  • Knowledge of React & React Native
  • Performance
  • Submission time
  • Tests

Host your project in a private Github repository, then add as collaborators: ​

  • aydncnar
  • kyarik
  • paolorovella
  • sibest19
  • valeriobelli

You can then send us the link via email when the project is ready to be reviewed.

For any questions, don’t hesitate to get in touch with us by replying to the email you received from Sara.

Good luck, may the Force be with you!