This pull request introduces the main functionality of the project, which includes three core pages: Rockets, Missions, and Profile. Users can reserve rockets, join missions, and view their reservations or joined missions on the Profile page.
Key Features:
Rockets Page:
Fetches rocket data from the SpaceX API.
Displays a list of rockets with the option to reserve or cancel reservations.
Updates the rocket status dynamically (shows "Reserved" badge for reserved rockets).
Missions Page:
Fetches mission data from the SpaceX API.
Displays a list of missions with the option to join or leave missions.
Updates mission status dynamically (shows "Joined" badge for joined missions).
Profile Page:
Displays a list of all the rockets the user has reserved.
Displays a list of all the missions the user has joined.
Uses local storage to keep track of reservations and joined missions.
Technical Details:
Redux is used for state management to handle actions such as joining/leaving missions and reserving/cancelling rockets.
Tailwind CSS is used for responsive and clean styling across all components.
The project structure includes separate folders for components, pages, and Redux logic.
Local storage ensures that user actions (e.g., joining missions) persist even after a page refresh.
Changes:
Added RocketItem and MissionItem components to handle individual items.
Created reducers.js, actions.js, and store.js to manage state using Redux.
Implemented responsive layouts for all three pages using Tailwind CSS.
This pull request introduces the main functionality of the project, which includes three core pages: Rockets, Missions, and Profile. Users can reserve rockets, join missions, and view their reservations or joined missions on the Profile page.
Key Features:
Rockets Page:
Missions Page:
Profile Page:
Technical Details:
Changes: