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.
-
In the terminal, run:
git clone https://github.com/Syed007Hassan/NASA-PROJECT-MERN.git
-
Create a
server/.env
file with aMONGOATLASPASWORD
property set to your MongoDB connection string and aPORT
property set to5000
. -
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!
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
-
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 atlocalhost:5000
) -
In the terminal, run:
docker push <username>/nasa-project
(image being pushed to docker hub)
-
Create an EC2 instance and configure it.
-
If you are using windows Install OpenSSH
-
Connect to the created instance
- 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
- Container is deployed and is available at http://13.210.164.154:5000/
- 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