This application allows you to book missions and rockets with Elon Musk's company, SpaceX

Overview

Space Traveler's Hub

This is an application built to book missions and rockets from SpaceX

screenshot

screenshot

screenshot

You can both join and leave missions, reserve and cancel reservations for SpaceX rockets, see the reservations you've made in your profile and read brief descriptions about the available missions and rockets.

Built With

  • JavaScript, HTML, CSS
  • React/Redux

Running Project Locally

To run the project locally make sure you run this command on your terminal

https://github.com/vechicin/spacehub.git

Getting Started with Create React App

This project was bootstrapped with Create React App.

Available Scripts

In the project directory, you can run:

npm install

Installs the required dependencies in order to run the project.

npm start

Runs the app in the development mode.
Open http://localhost:3000 to view it in your browser.

The page will reload when you make changes.
You may also see any lint errors in the console.

npm test

Launches the test runner in the interactive watch mode.
See the section about running tests for more information.

npm run build

Builds the app for production to the build folder.
It correctly bundles React in production mode and optimizes the build for the best performance.

The build is minified and the filenames include the hashes.
Your app is ready to be deployed!

See the section about deployment for more information.

npm run eject

Note: this is a one-way operation. Once you eject, you can't go back!

If you aren't satisfied with the build tool and configuration choices, you can eject at any time. This command will remove the single build dependency from your project.

Instead, it will copy all the configuration files and the transitive dependencies (webpack, Babel, ESLint, etc) right into your project so you have full control over them. All of the commands except eject will still work, but they will point to the copied scripts so you can tweak them. At this point you're on your own.

You don't have to ever use eject. The curated feature set is suitable for small and middle deployments, and you shouldn't feel obligated to use this feature. However we understand that this tool wouldn't be useful if you couldn't customize it when you are ready for it.

Authors

👤 Santiago Velosa

👤 Abel Lavieri

🤝 Contributing

Contributions, issues, and feature requests are welcome!

Feel free to check the issues page.

Show your support

Give a ⭐️ if you like this project!

Acknowledgments

  • Microverse

📝 License

This project is MIT licensed.

Comments
  • Space travelers' hub

    Space travelers' hub

    In this feature we did the following:

    Set up

    • Create React App.
    • Install React-Redux, Redux Logger, and React Router.
    • Download the free image for the app logo.
    • Create routes and view components (Rockets, Missions, My Profile, Dragons [only if your team has 3 members]). Use for the page navigation links and style active class to indicate which section/page the user is currently on (underline active navigation link).
    • Create directories for all Redux state slice files

    Redux: Fetch data and Redux store

    • Upon first render fetch data from the SpaceX API endpoints:
      • Rockets: https://api.spacexdata.com/v3/rockets
      • Missions: https://api.spacexdata.com/v3/missions
    • Once the data are fetched, dispatch an action to store the selected data in Redux store:
      • Rockets:
        • id
        • rocket_name
        • description
        • flickr_images
      • Missions:
        • mission_id
        • mission_name
        • description

    UI/UX

    • Use useSelector()
    • You can style the whole application "by hand" or you could use React Bootstrap, a UI library that could speed up the process. This is a popular library and working with its components would be good practice.
    • Render a list of rockets (as per design). For the image of a rocket using the first image in the array of flickr_images.
    • Render a table with the missions' data (as per design).
    • Render a list of dragons (as per design). For the image of a dragon use the first image in the array of flickr_images[only if your team has 3 members].

    Render UI condition components:

    • Rockets that have already been reserved should show a "Reserved" badge and "Cancel reservation" button instead of the default "Reserve rocket" (as per design).
    • Missions that the user has joined already should 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).
    opened by alvp01 0
  • Feature/myprofile

    Feature/myprofile

    In this feature I did the following:

    • Implement logic to render the reserved missions on the My Profile page
    • Implement logic to render the reserved rockets on the My Profile page
    • Style the My Profile page
    opened by vechicin 0
  • Feature/mission buttons

    Feature/mission buttons

    In this feature I did the following:

    • Implemented the functionality so the user can join and leave a mission
    • Changed the button styling according to the reservation status
    • Change the badge styling according to the reservation status
    opened by vechicin 0
  • Feature/rockets

    Feature/rockets

    In this feature I:

    • added bootstrap through a CDN to the main html file
    • implemented the rocket reservation/cancelation features
    • styled the rockets page
    opened by alvp01 0
  • [1pt] Create basic structure for Rockets - Setup

    [1pt] Create basic structure for Rockets - Setup

    • Create a route and a view component. Use for the page navigation links and style active class to indicate which section/page the user is currently on (underline active navigation link).

    • Create a directory for all Redux state slice files.

    opened by vechicin 0
  • [1pt] Create empty My profile - Setup (Santiago)

    [1pt] Create empty My profile - Setup (Santiago)

    • Create a route and a view component. Use for the page navigation links and style active class to indicate which section page the user is currently on (underline active navigation link).
    • This view should be empty - you will add content in separate tasks .
    opened by vechicin 0
  • [1pt] Create basic structure for Missions - Setup

    [1pt] Create basic structure for Missions - Setup

    • Create a route and a view component. Use <NavLink /> for the page navigation links and style active class to indicate which section/page the user is currently on (underline active navigation link).
    • Create a directory for all Redux state slice files.
    opened by vechicin 0
  • Team3 [1pt] Create basic structure for Dragons - Setup

    Team3 [1pt] Create basic structure for Dragons - Setup

    • Create a route and a view component. Use <NavLink /> for the page navigation links and style active class to indicate which section/page the user is currently on (underline active navigation link).
    • Create a directory for all Redux state slice files.
    opened by vechicin 0
  • [4pt]  Fetch missions - Fetch data

    [4pt] Fetch missions - Fetch data

    Fetch data from the Missions endpoint (https://api.spacexdata.com/v3/missions) when a user navigates to the Missions section.

    Once the data are fetched, dispatch an action to store the selected data in Redux store:

    • mission_id
    • mission_name
    • description

    NOTE: Make sure you only dispatch those actions once and do not add data to store on every re-render (i.e. when changing views / using navigation).

    opened by vechicin 0
  • [4pt]  Fetch rockets - Fetch data

    [4pt] Fetch rockets - Fetch data

    Fetch data from the Rockets endpoint (https://api.spacexdata.com/v3/rockets) when the application starts (as Rockets is the default view).

    Once the data are fetched, dispatch an action to store the selected data in Redux store:

    • id
    • name
    • type
    • flickr_images

    NOTE: Make sure you only dispatch those actions once and do not add data to store on every re-render (i.e. when changing views / using navigation).

    opened by vechicin 0
  • Team3 [4pt] Fetch dragons - Fetch data

    Team3 [4pt] Fetch dragons - Fetch data

    Fetch data from the Dragons endpoint (https://api.spacexdata.com/v3/dragons) when a user navigates to the Dragons section.

    Once the data are fetched, dispatch an action to store the selected data in Redux store:

    • id
    • name
    • type
    • flickr_images

    NOTE: Make sure you only dispatch those actions once and do not add data to store on every re-render (i.e. when changing views / using navigation).

    opened by vechicin 0
Owner
Santiago Velosa
Full-Stack Software Developer with a love for React and Ruby on Rails. Open to new opportunities. Available for hire. [email protected]
Santiago Velosa
A Web application that showcases Rockets and Missions from the SpaceX API, you can reserve Rockets and join Missions to your profile.

Space Travelers' Hub Project that showcases Rockets and missions from the SpaceX API, the user can reserve Rockets and join Missions, and save them in

David Vergaray 9 Apr 17, 2022
In this project we built a web application that consumes an SpaceX API. It provides commercial and scientific space travel services that allows users to book rockets and join selected space missions.

Space Travelers' Hub In this project we built a web application that consumes an SpaceX API. It provides commercial and scientific space travel servic

Diego Yon 7 Sep 30, 2022
"Space-Travelers-Hub" is a website that allows users to book rockets and join selected space missions by using data from the SpaceX API.

Space-Travelers-Hub This project was bootstrapped with Create React App. Description "Space-Travelers-Hub" is a website that allows users to book rock

Tresor Sawasawa 4 Mar 13, 2022
A web application for a company that provides commercial and scientific space travel services. The application will allow users to book rockets and join selected space missions.

Space Travelers A web application for a company that provides commercial and scientific space travel services. The application will allow users to boo

Hector Torres 2 Apr 6, 2022
This a web application for a company that provides commercial and scientific space travel services. The application will allow users to book rockets, dragons and join selected space missions.

Space Travelers' Hub In this project, we have worked with the real live data from the SpaceX API. Our task was to build a web application for a compan

Apuabi Titilope 4 Oct 31, 2022
This web application provides commercial and scientific space travel services. The application allows users to book rockets and join selected space missions.

space-hub About Project "Space Traveler's Hub" is A web application that provides commercial and scientific space travelling services, We are working

Nicholas Emmanuel 7 Nov 2, 2022
This web application provides commercial and scientific space travel services. The application allows users to book rockets and join selected space missions.

Space Traveler's Hub This web application provides commercial and scientific space travel services. The application allows users to book rockets and j

Michael Mesfin 6 Oct 4, 2022
Space Travelers' Hub - a web application that facilitates booking rockets and join selected space missions

This is a web application that facilitates booking rockets and join selected space missions. It is built for a company that offers both commercial and scientific space travel services. The application also works with real live data from the SpaceX API.

Mong'are 6 Mar 29, 2022
This is a single page web application that keeps tracks of books. Book details captured are the book title, author and ISBN. User can add a book, view a list of books and also remove any un wanted books.

Project Name This is a single page web application that keeps tracks of books. Book details captured are the book title, author and ISBN. User can add

Olivier 6 Nov 20, 2022
AweSome Book App displays the book details entered by user and saves the information in Local storage. User can add and remove a book title/author to the library and from the library.

Awesome Book App with ES6 Used npm init -y command to create package.json file. Created the entry point for the JavaScript code called index.js Create

Krishna Prasad Acharya 8 Aug 15, 2022
A single-page application that allows users to keep track of their books. Users can add the book details (book title and author) and also, and the books can also be removed. Built with JavaScript, HTML, and CSS

Project Name Awesome book with ES6 Description the project. This is a single page application that allows users to keep track of their books. Users ca

Micheal Oguntayo 4 Oct 13, 2022
It is a tours website for showing the information about all the tours of this company and making the clients able to book them.

NATOURS APP Table of Contents Deployed Website Built With Getting Started Description Documentation Screenshots Deployed Website : NOTE: Heroku is pla

null 3 Sep 24, 2022
The Bookstore is a website that allows the user to :display a list of books , Add a book and remove a selected book.

Book Store The Bookstore is a website that allows the user to : -Display a list of books. -Add a book. -Remove a selected book. Built With ?? Basic CS

Nedjwa Bouraiou 4 Sep 6, 2022
BookStore is a website that allows a given user to view a list of books, to add a new book and remove a given book.

Project Name : BookStore CMS BookStore is a website that allows a given user to view a list of books, to add a new book and remove a given book. In or

Chris Siku 10 Aug 22, 2022
Space-x is a web application the is working with the real live data from the SpaceX API

Project Name : Space-x Traveler Hub Space-x is a web application for a company that provides commercial and scientific space travel services. The appl

Chris Siku 12 Aug 22, 2022
Cindy Dorantes 12 Oct 18, 2022
:books: The definitive guide to TypeScript and possibly the best TypeScript book :book:. Free and Open Source 🌹

TypeScript Deep Dive I've been looking at the issues that turn up commonly when people start using TypeScript. This is based on the lessons from Stack

Basarat Ali Syed 18.7k Jan 4, 2023