Giter VIP home page Giter VIP logo

weather-app's Introduction

Weather App

A web-based weather application that allows users to search for a location in the USA to view its current weather conditions.

Getting Started

Installation

  1. Clone the repository to your local machine.
  2. cd into the project directory and npm install to install the project dependencies
  3. npm start to start the development server
  4. Open your web browser and navigate to the virtual server address (check the terminal for the address)

UI Testing

This project uses Vitest for testing. To run the tests, use the command npm test. To view the test coverage, use the command npm run coverage.

Deployment

This project is deployed as a static site via a public AWS S3 Bucket

Lambda Function Serverless Backend

This project utilizes a serverless backend to handle the API request to the Geoapify Autocomplete API. It is written in C# and deployed as an AWS Lambda function. This allows for the frontend to be deployed as a static site and for the Geoapify API key to be hidden as an environment variable in the Lambda. The source code for this function is in my respository on GitHub

Technologies Used

Stack

  • React
  • TypeScript
  • Vite
  • Vitest
  • Lambda (written in C#, in a separate repository linked above)

APIs

  • Geoapify (for address autocomplete)
  • Nominatim (for geolocation)
  • National Weather Service (for weather data)

Next Steps

Known Bugs and Issues

  • There are a few CSS browser compatibility issues that need to be addressed: link styles, autocomplete dropdown behavior, etc.
  • The app handles errors by failing gracefully and passing the error message to the user, but the error messages are not very user-friendly. They should be more descriptive and instructive.

New Features

  • Multiple, saved locations
  • Unit conversion for temperature and wind speed
  • Toggle between different views (i.e. 3-day vs. 7-day forecasts)
  • Complete UI testing coverage and extend to lib directory with e2e tests

weather-app's People

Contributors

csobrien90 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.