Skip to content

haquanq-frontendmentor/weather-app

Repository files navigation

Frontend Mentor - Weather App Solution

This is a solution to the Weather app challenge on Frontend Mentor. Frontend Mentor challenges help you improve your coding skills by building realistic projects.

Solution post Live demo

Table of Contents

🌅 Project Overview

Challenge Requirements

  • Search for weather information by entering a location in the search bar
  • View current weather conditions including temperature, weather icon, and location details
  • See additional weather metrics like "feels like" temperature, humidity percentage, wind speed, and precipitation amounts
  • Browse a 7-day weather forecast with daily high/low temperatures and weather icons
  • View an hourly forecast showing temperature changes throughout the day
  • Switch between different days of the week using the day selector in the hourly forecast section
  • Toggle between Imperial and Metric measurement units via the units dropdown
  • Switch between specific temperature units (Celsius and Fahrenheit) and measurement units for wind speed (km/h and mph) and precipitation (millimeters) via the units dropdown
  • View the optimal layout for the interface depending on their device's screen size
  • See hover and focus states for all interactive elements on the page

Status

Features

  • Search for locations with real-time suggestions
  • Change unit systems (imperial, metric)

Accessibility

  • Responsive accross different screen sizes
  • Added custom indicator when interactive elements focused

🌠 Tech Stack and Approach

Built with

  • OpenMeteoAPI - Public API for weather forecast data
  • HTML5 – Semantic structure
  • Vue – Fine-grained reactivity
  • PrimeVue – Matured component UI with accessibility in mind
  • TailwindCSS – Utility-first CSS for fast development
  • TypeScript - Interactivity and application logic
  • Vite - Fast development server, production build and easy configuration.

Approach

🍃 Local Development

Prerequisites

Install the following:

  • Git (latest version)
  • Node.js (latest LTS recommended)
  • pnpm (latest version)

Setup

git clone https://github.com/haquanq-frontendmentor/weather-app.git
cd weather-app
pnpm install

Start Development Server

pnpm dev

🍁 Deployment

Deployed to Github Pages via Github Action.