Please fully read the description below and see the included screenshots.
In this test your task is to display a list of Rick and Morty episodes with each episode details.
- We'll using Rick and Morty API.
- Lists are paginated
- Each episode should have the same attributes
- Data is fetched by ajax, loading state must be shown.
- We expect to see a list of episodes with in an expandable/collapsible panel for the episodes characters
- The expand/collapse button on the individual episode should expand/collapse the list of characters in the episodes
- The expand/collapse button on the top of the list expand/collapse the list of characters in all the episodes
- The main technologies you are expected to use
- Redux: to store the data
- React: to display the list
- The supported browsers are: IE11, Firefox, Chrome, the solution expected to work on these. (note: only IE11, no backward compatibility with earlier IE is expected)
- Visual aspect of this app does not matter, but it must make sense. Please don't focus on styling.
Your solution must be fork of this repository!
- You can't add any
npm
packages!. The main app must work with onlydependencies
delivered inpackage.json
(Except ofdevDependencies
that you can use for other reasons). The exception of this rule is IE11 support. - The main purpose of this test is for you to show your ability to design and implement
bespoke SPA using React/Redux.
We expect a working implementation, not just a screen design. - Please use Redux to store the data.
- Please use React for displaying the list.
- The app must be published in the Github Pages and the link must be published in this file.
- Code must be documented.
- List of episodes
* Episodes [+]
> * episode 1 [+]
> * episode 2 [+]
> * episode 3 [+]
> * episode 4 [+]
> * episode 5 [+]
*
> * next page
- One episode expanded
* Episodes [+]
> * episode 1 [-]
> * * id: 1
> * * name: bla bla
> * * air_date: 1st Oct 2017
> * * episode: rm123
> * * characters: 1
> * * * Rick
> * * * Morty
> * * * ...
> * episode 2 [+]
> * episode 3 [+]
> * episode 4 [+]
> * episode 5 [+]
*
> * next page
- All episodes expanded
* Episodes [-]
> * episode 1 [-]
...
> * episode 2 [-]
...
> * episode 3 [-]
...
> * episode 4 [-]
...
> * episode 5 [-]
...
*
> * next page