priti921 / NASA-Launch-Schedule-Project

full-stack project built with react, arwes, nodejs, expressjs, mongoDB

Home Page:ec2-16-171-28-81.eu-north-1.compute.amazonaws.com:8000

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

๐Ÿš€ NASA Launch Schedule Project ๐Ÿš€

๐ŸŒ  Launch Your Exoplanet Space Mission ๐ŸŒ 


๐Ÿ“ Table of Contents


๐Ÿค– Overview

NASA Launch Schedule Project is a full-stack web application built with React, Arwes, Node.js, Express.js, and MongoDB. It allows users to schedule space missions to exoplanets using NASA Kepler data.

The app has a user-friendly interface that allows users to schedule a space mission by choosing a date, rocket name, exploration name, and exoplanet destination. Users can also view upcoming missions and mission history, including cancelled missions.

The app's backend is built with Node.js and Express.js, and data is stored in MongoDB. Jest is used for testing, and PM2 is used for deployment. NASA Kepler CSV data is used as the app's data source.

To get started with the app, users can clone the repository to their local machine, install the necessary dependencies, add a .env file in the server src folder for MongoDB API name and password, and start the server by running npm run watch in the project directory. Users can then navigate to http://localhost:8000 to view the app.

Overall, the NASA Launch Schedule Project is an impressive full-stack application that allows users to schedule space missions and view mission history using NASA Kepler data.

๐Ÿ” Return


๐Ÿ—บ System Design

In the diagram, the frontend is represented by the React component, which sends requests to the backend server through HTTP requests. The backend is built using Node.js and Express.js and is responsible for handling these requests, interacting with the database (MongoDB), and sending responses back to the frontend.

The system design also includes a box labeled "Kepler Data" which represents the NASA Kepler CSV data that the app uses as its data source. The backend server communicates with this data source to retrieve information about exoplanets and space missions.


๐Ÿš€ Getting Started


๐Ÿ’ป Installation

To run the project, follow these steps:

  1. Clone the repository to your local machine.
  git clone https://github.com/priti921/NASA-Launch-Schedule-Project.git
  1. Install the dependencies Install all the node_modules
npm install
  1. Add a .env file in server src folder for mongodb api name and password

The project uses MongoDB for data storage. To connect to your MongoDB database, you need to create a .env file in the server/src directory with the following format:

MONGO_USERNAME="api-name"
MONGO_PASSWORD="password"
  1. Start the server by running npm run watch in the project directory.
npm run watch
  1. Open a web browser and navigate to http://localhost:8000 to view the app.

๐Ÿงช Running-tests

npm run test

๐Ÿ“ฆ Deployment

To deploy the app using a cluster, run the following command in the project directory:

npm run deploy-cluster

๐Ÿ”ฎFeatures

The app has the following features:

  • Schedule a space mission by choosing a date, rocket name, exploration name, and exoplanet destination.
  • View upcoming missions.
  • View mission history, including cancelled missions.

๐Ÿ›  Technologies Used

The project uses the following technologies:

Frontend: React, Arwes
Backend: Node.js, Express.js, PM2, MongoDB
Test: Jest

๐Ÿ“‚Data Sources

The app uses NASA Kepler CSV data as its data source.

If you find any bug or want to contribute to this project, feel free to create an issue or a pull request.

Thank you!

About

full-stack project built with react, arwes, nodejs, expressjs, mongoDB

ec2-16-171-28-81.eu-north-1.compute.amazonaws.com:8000


Languages

Language:JavaScript 91.1%Language:HTML 6.5%Language:CSS 1.5%Language:Dockerfile 0.9%