Giter Site home page Giter Site logo

forecast's Introduction

Forecast

Description

A weather app that displays current weather conditions based on the user's location. The app also features the ability for user's to add locations and check the weather for a selected location. Forecast was created from scratch using ReactJS, ExpressJS, and MongoDB with weather data sourced from the OpenWeather API.


Installation

Make sure your system meets the requirements below before following installation

  1. Clone this repo to your local machine:
    • git clone https://github.com/Mitch311G/Forecast.git
  2. Navigate to the repo's root directory:
    • cd Forecast
  3. Install project dependencies:
    • npm install
  4. Create .env file in the root directory, then copy and paste contents from .env.example into your .env.
    • Your API key goes in your .env file
  5. Run npm run build-dev to build dist/bundle.js and npm run start-dev to start development server at localhost:3000.
  6. Start developing!

Requirements

  1. Install the following to your system (if not done already):
  2. Obtain your own OpenWeather API key.
  3. Allow your browser to access your location.

Usage

  • To get your local weather, simply launch the application.
  • To add and view new locations:
    • Type the name of the "City, State" into the box at the top left corner of the app body and click the add (+) button.
    • Click the drop down menu below the input box and select the loaction of your choosing to view current weather data.


Provided scripts

  • npm run build-dev
    • Using webpack and babel, this will bundle and transpile the contents of frontend/src directory into bundled .js file for browser consumption, which is linked to index.html, then watch for changes and re-bundle on file changes.
  • npm run build
    • Builds the bundle for production and does not watch for file changes.
  • npm run start-dev
    • Starts the development server (default is localhost:3000), then watches for changes and restarts the server with updated content on file change.
  • npm run start
    • Starts the app's server, but does not watch for file changes.

Author and other

Forecast was developed by Mitchell Gardner, originally build in a 2-day MVP sprint for the Hack Reactor Advanced Software Engineering Immersive Program. Future features to be added include: ability to delete locations from list, dynamic rendering of background based on current weather, and additional forecast data (ex. 7 day forecast).

forecast's People

Contributors

mitch311g avatar hackreactor-bot avatar

Watchers

 avatar

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.