Skip to content

firasbk7770/Weather-app-react

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Weather App

Table of Contents

Overview

Weather forecast app. Check the weather for any city in the world, with weather forecast of next 7 days and relevant images of weather.

Screenshot

Links

My process

Built With

  • Semantic HTML5 markup
  • CSS Flexbox
  • CSS Grid
  • Desktop-First workflow
  • 7-1 Sass Architecture
  • MVC Architecture
  • openweathermap - Weather API
  • Mapbox - Geocoding API
  • Sass - CSS extension language
  • jQuery - JS library
  • Parcel - Bundler

Steps

User Stories

  • I can see city weather as default, preferably my current location
  • I can search for city
  • I can see weather of today and the next 7 days
  • I can see the date and location of the weather
  • I can see according to image for each type of weather
  • I can see the min and max degree each day
  • I can see wind speed
  • I can see humidity percentage
  • I can see a visibility indicator
  • I can see the air pressure number
  • I can request my current location weather
  • I can convert temperature in celcius to Fahrenheit and vice versa
  • I can see image according to the current weather

Features

  • App displays forecast of current day
  • App displays forecast of next 7 days day
  • App takes current location of user as default location
  • App lets user search for any location
  • App lets user to see temperature in celcius as well as fahrenheit

Design

Workflow

What I learned

I've learned lot of stuff in this challenge:

  • Sass Architecture
sass
├── abstract
│   ├── _mixins.scss
│   └── _variables.scss
├── base
│   ├── _base.scss
│   ├── _index.scss
│   ├── _reset.scss
│   ├── _typography.scss
│   └── _utilities.scss
├── components
│   ├── _error.scss
│   ├── _index.scss
│   ├── _search-bar.scss
│   └── _spinner.scss
├── layouts
│   ├── _details.scss
│   ├── _index.scss
│   └── _sidebar.scss
└── main.scss
  • MVC Architecture
js
├── config.js
├── controller.js
├── helper.js
├── model.js
└── views
    ├── backgroundView.js
    ├── detailView.js
    ├── searchView.js
    ├── sidebarView.js
    └── view.js
  • Open Graph meta tags

    Open Graph meta tags are snippets of code that control how URLs are displayed when shared on social media.

<!-- Open Graph / Facebook -->
<meta property="og:type" content="website" />
<meta property="og:url" content="https://weather-kv.netlify.app/" />
<meta property="og:title" content="Weather App" />

<meta
	property="og:description"
	content="Check the weather for any city in the world, with weather forecast of next 7 days and relevant images of weather."
/>

<meta
	property="og:image"
	itemprop="image"
	content="https://user-images.githubusercontent.com/68834718/148419702-491fa08d-e520-4e2f-b219-374ec7118b2b.png"
/>

<!-- Twitter -->
<meta property="twitter:card" content="summary_large_image" />
<meta property="twitter:url" content="https://weather-kv.netlify.app/" />
<meta property="twitter:title" content="Weather App" />

<meta
	property="twitter:description"
	content="Check the weather for any city in the world, with weather forecast of next 7 days and relevant images of weather."
/>

<meta
	property="twitter:image"
	content="https://user-images.githubusercontent.com/68834718/148419702-491fa08d-e520-4e2f-b219-374ec7118b2b.png"
/>
  • To use bundler (Parcel)
"scripts": {
  "start": "parcel index.html",
  "build": "parcel build index.html --dist-dir ./dist"
},
"dependencies": {
  "@parcel/transformer-image": "^2.0.1",
  "@parcel/transformer-svg": "^2.1.0",
  "dotenv": "^10.0.0",
  "parcel": "^2.1.1"
},
"devDependencies": {
  "@parcel/transformer-sass": "^2.1.1",
  "@parcel/transformer-svgo": "^2.0.0-nightly.1739",
  "autoprefixer": "^10.4.1"
}
  • To use environment variables (.env)

Useful resources

Author

Acknowledgements

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 46.9%
  • SCSS 31.5%
  • HTML 21.6%