/solsken-weather

A weather app that works everywhere, anytime.

Primary LanguageJavaScriptEuropean Union Public License 1.2EUPL-1.2

Solsken

A progressive web app to cover all your weather needs, built with Vite.js using React.js with Typescript.

LivePlaystoreBlog post

💡 Introduction

The goal of Solsken is to be an effective, usable cross-platform weather app with worldwide support, presenting all information the APIs provide. Mobile use is prioritized heavily, and the UI and UX are built to provide an experience as close to native as possible.

Solsken allows use of two different weather providers:

  • SMHI (for Fennoscandian countries)
  • YR.no (for worldwide use)

Additionally, the app employs an efficient caching system in accordance with respective weather provider's usage policy.

✅ Prerequisites

  • Node.js
  • pnpm

🚀 Quick start

  1. Clone this repo

    Use git to clone this repo, or download it.

    # Clone the repo to a local directory
    git clone git@github.com:MartinRybergLaude/solsken-weather.git
  2. Install

    Open cmd, terminal or powershell in the cloned direcory and install

    cd solsken-weather
    pnpm i
  3. Start the app

    Start the app on http://localhost:5173

    pnpm dev

🧐 Technologies

  • Vite.js
  • React.js
  • Typescript
  • PostCSS
  • CSS modules
  • Framer Motion
  • SWR

📁 Directory structure

  • Package by feature as far as possible

📑 Code conventions

  • Functional components
  • Props & state interface above components
  • Async/await preferred

📑 Git conventions

  • Commit messages are written in imperative mood
  • Commit messages follow the following structure: Type: Short title Optional explanatory body
  • Micro-commits are preferred