GithubHelp home page GithubHelp logo

mnargh / marsweather Goto Github PK

View Code? Open in Web Editor NEW
1.0 2.0 0.0 3.24 MB

Single page React app to display weather on Mars recorded by NASA's Insight Mars Lander

HTML 1.86% JavaScript 46.93% SCSS 51.21%

marsweather's Introduction

Abstract | Concepts | How To Run | Screenshot | Improvements

MarsWeather

A simple single page app that displays the current, and previous 7 days weather on Mars, as recorded by NASA's Insight Mars Lander, which has been recording data for almost two years in the Plantitia Elysium plain on the planet.

The data is available through NASA's Insight API documentation and gives a number of data points from the surface such as min/max temps, wind speed and direction, atmospheric pressure. There are sometimes gaps in the days data is provided for by the API dude to weather events or other reasons, so in place I have entered dummy data.

The app is currently temporarily hosted at https://aqueous-plains-40882.herokuapp.com (may take a few seconds to load)

Concepts

I created this app as a way to practice creating simple React apps. The concepts that I wanted to cover were

  • React Hooks
    • UseState
    • UseEffect
  • Functional components
  • Passing data between components using props
  • Fetching and manipulating data from external APIs
  • Using event listeners to dynamically change the page
  • CSS styling and animations

How To Run

Clone the repo and go to the directory
[email protected]:Mnargh/marsweather.git && cd marsweather

Install dependencies
npm i

Run the App on localhost:3000
npm run start

Screenshot

Dashboard

Improvements

  1. Use Redux to store api data and other variables in the state globally as passing these between components limits the complexity and maintainability of the application.

  2. Add the ability to select and display info for other days in the main weather display

  3. Make the page responsive for different screen sizes, devices

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.