https://github.com/alexandrabaturina/mars-rover-dashboard
Dashboard that allows the user to view data and images from one of the Mars rovers.
https://github.com/alexandrabaturina/mars-rover-dashboard
es6-javascript functional-programming higher-order-functions nasa-api nodejs pure-javascript
Last synced: 2 months ago
JSON representation
Dashboard that allows the user to view data and images from one of the Mars rovers.
- Host: GitHub
- URL: https://github.com/alexandrabaturina/mars-rover-dashboard
- Owner: alexandrabaturina
- Created: 2020-10-09T22:16:33.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2020-10-20T00:23:59.000Z (over 4 years ago)
- Last Synced: 2025-02-14T20:39:28.386Z (4 months ago)
- Topics: es6-javascript, functional-programming, higher-order-functions, nasa-api, nodejs, pure-javascript
- Language: JavaScript
- Homepage:
- Size: 25.4 KB
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Intermediate JS #2: Mars Rover Dashboard
## Overview
**Mars Rover Dashboard** is the second project of Udacity [Intermediate JavaScript](https://www.udacity.com/course/intermediate-javascript-nanodegree--nd032) nanodegree program. It requires to build out a dashboard that displays data and photos from one of the Mars rovers selected by user. The dasboard consumes the [NASA API](https://api.nasa.gov/).The project has the following goals:
* using pure functions
* iterating over, reshaping, and accessing information from complex API responses
## Features
**Mars Rover Dashboard** has the following features:
* UI shows the following:
* A gallery of the most recent images sent from each mars rover
* The launch date, landing date, name and status of the rover
* A navigation menu for the user to choose which rover's information they want to see

* UI is responsive on the following devices:
* Phones (max-width 768px)
* Desktop (min-width 991px, max-width 1824px)
### Frontend Code
Frontend code meets the following requirements:
* Only pure functions are used
* At least one Higher Order Function is used
* Array method ```map``` is used
* ```ImmutableJS``` library is used
### Backend Code
Backend code meets the following requirements:
* The app is built with ***Node/Express***
* Calls to the [NASA API](https://api.nasa.gov/) are made successfully
* To do any logic necessary, only pure functions are used
* Any sensitive information is hidden from the public vies
## Getting Started
### Prerequisites
1. Download [NASA API key](https://api.nasa.gov/).
2. Clone this repo.
3. ```cd``` into project directory.
4. Create ```.env``` file and specify the credentials:
```
API_KEY =
```
### Running Locally
To run **Mars Rover Dashboard** from project directory,
1. Install dependencies.
```sh
npm install
```
2. Start the server.
```sh
npm start
```
3. Access http://localhost:3000 in your browser.
## Authors
Alexandra Baturina