A Web application that pulls from SpacexData API to allow users to make or cancel rocket reservations, leave or join missions and track their reserved rockets or joined missions. Built with React & Redux.
Fetch data from SpaceX API endpoints and update Redux store Upon the first render.
Rockets is the default view, so rockets data is fetched when the application starts.
The mission data is only fetched (once) when a user navigates to the Missions section.
Made sure that we dispatch actions once and do not add data to store on every re-render (i.e. when changing views / using navigation).
Rendered a list of rockets (as per design)
Render a table with the missions' data (as per design).
When a user clicks the "Reserve rocket" button, action with the ID of the reserved rocket is dispatched to update the store/state.
Rockets that have already been reserved show a Reserved badge and Cancel reservation button instead of the default Reserve rocket (as per design).
Missions that the user has joined already show a badge Active Member instead of the default NOT A MEMBER and a button Leave Mission instead of the Join Mission button (as per design).
In this pull request, we did