Skip to content

Used Arwes Futuristic Sci-Fi UI and implemented REST APIs. NASA Exoplanets's data is used to find out the habitable planets and SPACEX-API is used for populating launches data.

Notifications You must be signed in to change notification settings

Syed007Hassan/NASA-PROJECT-MERN

Repository files navigation

NASA-PROJECT-MERN

Used Arwes Futuristic Sci-Fi UI and implemented REST APIs. NASA Exoplanets's data is used to find out the habitable planets and SPACEX-API is used for populating launches data.

🚀 Architecture Diagram

nasa

🚀Getting Started

  • In the terminal, run: git clone https://github.com/Syed007Hassan/NASA-PROJECT-MERN.git

  • Create a server/.env file with a MONGOATLASPASWORD property set to your MongoDB connection string and a PORT property set to 5000.

  • In the terminal, run: npm install

  • In the terminal, run: npm run deploy

  • Browse to the mission control frontend at localhost:5000 and schedule an interstellar launch!

🚀 Running the test

To run any autamated tests, run npm test. This will

  • Run all the client-side tests: npm test --prefix client

  • Run all the server-side tests: npm test --prefix server

🚀 Running the project using Dockers

  • Ensure that you have the latest version of Docker installed and signed in with your account

  • In the terminal, run: docker build -t <username>/nasa-project (image being made)

  • In the terminal, run: docker run -it -p 5000:5000 <username>/nasa-project (application available at localhost:5000)

  • In the terminal, run: docker push <username>/nasa-project (image being pushed to docker hub)

🚀 Creating EC2 instance on AWS and deploying container

Screenshot 2023-03-18 122823

  • Now install dockers

sudo yum update

sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

sudo yum docker

sudo service docker start

sudo usermod -a -G docker ec2-user

docker run --restart=always -p 5000:5000 <username>/nasa-project

Screenshot 2023-03-18 172631

Screenshot 2023-03-18 173011

🚀 Technologies used

  • ReactJS: For client side
  • NodeJs: For creating REST APIS and handling database
  • Jest: For testing APIS and mocking database
  • MongoDB: For performing CRUD operations on launches and planets data
  • Dockers: For containerizing application
  • Github Actions: For creating a CI/CD pipeline

🚀 Demo

Nasa.project.mp4

About

Used Arwes Futuristic Sci-Fi UI and implemented REST APIs. NASA Exoplanets's data is used to find out the habitable planets and SPACEX-API is used for populating launches data.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published