Code Monkey home page Code Monkey logo

weather-app's Introduction

Weather App

A web system that displays the weather information of Japan (Miyazaki) and Bangladesh (Dhaka) on the screen. User can add other cities as well. They can search any city's weather and pin those on the homepage.

Tech Stack

Client: Vue, VeuX, Vuetify

External API: Weather API

Testing: Vitest

Features

  • Light/dark mode toggle
  • Multiple language feature
  • Keyboard interaction
  • Data caching for optimal network call
  • Data storing in local storage
  • Live local clock
  • Fetching weather information of any city
  • Pinning favorite cities on the homepage

Environment Variables

To run this project, you will need to add the following environment variables to your .env file.

  • VITE_API_KEY: Get a API from Weather API and store that key in this variable.

Run Locally

  • Clone the project
git clone [email protected]:JanayAlam/weather-app.git weather-app
  • Go to the project directory
cd weather-app
  • Install dependencies
yarn install
  • Configure the environmental variables
cp default.env .env

Then replace the VITE_API_KEY's value YOUR_WEATHER_API_KEY with your Weather API's API key.

  • Start the server
yarn run dev

Running Tests

To run tests, run the following command

yarn run test

Demo

Light and Dark theme: Users can toggle between dark and light theme mode.

Light and Dark Theme

Multiple language feature: Users can switch to English, Bengali, and Japanese language.

Multiple Language Feature

Weather information: Users can see the weather information of any city both in Celsius and Fahrenheit scale in detail. There is a chart showing how can be the temperature in the next seven days.

Weather Information

Weather forecasts: Users can see the weather forecasts values in detail.

Weather Forecasts

Search cities: Users can search any city to know its weather information.

Search Cities

Keyboard interaction and pinning cities on the homepage: Users can open the search bar by clicking ctrl+k and pin cities on the homepage from the details page.

Search Cities and Pinning on the Homepage

Remove pinned cities from the homepage: Users can remove pinned cities from the homepage.

Remove Pinned Cities

Data storing: All the information is stored in the local storage. So, hard refresh will not delete the states.

Hard Reload

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.