This project was bootstrapped with Create React App.
redux
to manage stateredux-thunk
to handle async reducersredux-persist
to save redux store in local storage
App contains information about Star Wars saga retrieved from SWAPI. The user can explore each of the movies and learn about the Planets and People featured within. Initially, the user is displayed a list of of characters, planets and movies, where each is labelled as "unknown". Once the user has clicked on a character, planet, or movie, they are redirected to a details page where more information about the respective character/planet/movie is shown. The now explored character/planet/movie will show up under its own name as opposed to "unknown" in all lists.
- API requests are made using
redux-thunk
- Movie information retrieved from API is saved in redux store, which is also persisted to localStorage using
redux-persist
- API called whenever user interacts with movie, planet or character for the first time.
- Until explored, each item (movie, character or planet) listed as "Unknown". When first explored, API call made, information saved to store.
- Once explored, titles of items are retrieved from store.
- Previously explored films are rendered in
FilmList.js
which maps over the store of films - Previously explored characters are rendered in
PersonList.js
- Previously explored planets are rendered in
PlanetList.js
- Previously explored films are rendered in