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:
build
: Builds the NextJS app for production usagedev
: Starts the NextJS app in development modetest
: Run tests using Jesttypecheck
: Typecheck code with TypeScriptstart
: Starts the NextJS production server
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.
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.
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.
The app runs without errors and has all the features shown in the design.
The test and typecheck scripts work without errors.
We won’t test the app on desktop 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. =)
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
- 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!