https://ajithjosephthomas.github.io/
To run this project
- yarn install
- yarn start
The functionalities mentioned in the test are met to the best of my understanding.
Functionality:
- Comics view - http://localhost:8080/ or http://localhost:8080/comics
- Loads card view of 20 comics.
- Infinte Scroll
- Click on filter to open filter
- Select series/character and start typing in the combo box. The combo box provides the options.
- Select an option to filter.
- Click on a card to see more details of the comic.
- Click on the thumbnail in the card to navigate to http://localhost:8080/comics/<comic_id>
- Click on character to navigate to the corresponding character details page
- Comics detail view - http://localhost:8080/comics/<comic_id>
- Displays:
- Name
- Description
- Price
- Characters
- Series
- Click on character to navigate to the corresponding character details page.
- Displays:
- Character view - http://localhost:8080/ or http://localhost:8080/comics
- Loads card view of 20 characters.
- Infinte Scroll
- Click on a card to see more details of the comic.
- Click on the thumbnail in the card to navigate to http://localhost:8080/character/<character_id>
- Click on comic to navigate to the corresponding comic details page
- Character detail view - http://localhost:8080/character/<character_id>
- Displays:
- Name
- Description
- Creators
- Series
- Click on comic to navigate to the corresponding comic details page.
Improvements:
- Bootstrap-sass.
- Bootswatch-sass for theming.
- Masonary layout.
- Normalisation.
- Transitions for views.
What is pending:
- Refactor code with redux-saga as the middleware would be a better suite.
- Improve infinite scroll to load relevant set of data that merging.
- Improve normalisation for more detailed schema.
- Filter based on title/name.
- Preloaders are being worked out.
- Refactor ComicTiles and CharacterTiles to have a HOC for scroll handling.
- Refactor ComicLists and CharacterLists to have a HOC for infinite scroll.
- Better data cachining mechanism.
- Test cases