Skip to content

mertcanaltin/open-weather-app

Repository files navigation

open-weather-app 🚀

Project setup

npm install

create root / .env.local

VITE_API_URL = 'https://api.openweathermap.org/data/2.5'
VITE_API_KEY = 'a8fdbcd95d55270f33d47c44f5206a31'
VITE_ICON_URL = 'https://openweathermap.org/img/w'

Compiles and hot-reloads for development

npm run dev

Compiles and minifies for production

npm run build

Run your jest tests

npm run test

Vite-Js

Next Generation Frontend Tooling

Get Started

Learn More

💡 Instant Server Start

On demand file serving over native ESM, no bundling required!

⚡️ Lightning Fast HMR

Hot Module Replacement (HMR) that stays fast regardless of app size.

🛠️ Rich Features

Out-of-the-box support for TypeScript, JSX, CSS and more.

📦 Optimized Build

Pre-configured Rollup build with multi-page and library mode support.

🔩 Universal Plugins

Rollup-superset plugin interface shared between dev and build.

🔑 Fully Typed APIs

Flexible programmatic APIs with full TypeScript typing.

SWR Features

With just one single line of code, you can simplify the logic of data fetching in your project, and also have all these amazing features out-of-the-box:

  • Fast, lightweight and reusable data fetching
  • Built-in cache and request deduplication
  • Real-time experience
  • Transport and protocol agnostic
  • SSR / ISR / SSG support
  • TypeScript ready
  • React Native

SWR has you covered in all aspects of speed, correctness, and stability to help you build better experiences:

  • Fast page navigation
  • Polling on interval
  • Data dependency
  • Revalidation on focus
  • Revalidation on network recovery
  • Local mutation (Optimistic UI)
  • Smart error retry
  • Pagination and scroll position recovery
  • React Suspense

Get started with Tailwind CSS

Tailwind CSS works by scanning all of your HTML files, JavaScript components, and any other templates for class names, generating the corresponding styles and then writing them to a static CSS file.

It's fast, flexible, and reliable — with zero-runtime.here