Skip to content

NoamRivlin/weather-app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

61 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Weather App

This is a web-based weather application that provides current weather conditions and a five-day forecast. The application is built using Vite, TypeScript, Chakra UI, Redux, and Express. It leverages the AccuWeather API to fetch weather data.

Screenshots and videos

screenshot
Functionality
weather-demo.mp4
Responsiveness
weather-app-responsive.mov

Getting Started

Before running the project, please note that you need an AccuWeather API key for authentication. The free tier of the AccuWeather API offers 50 daily requests. If you plan to fork and run the project, obtain your API key here and replace the placeholders in the code.

Backend

Installation

cd backend
npm install

Usage

# Run in development mode
npm run dev

# Build for production
npm run build

# Start in production mode
npm start

Frontend

Installation

cd weather-app-frontend
npm install

Usage

# Run in development mode
npm run dev

# Build for production
npm run build

# Preview the production build
npm run preview

Project Structure

  • backend: Express server for handling API requests.

    • Dependencies:
      • axios
      • cors
      • dotenv
      • express
    • Dev Dependencies:
      • @types/cors
      • @types/express
      • nodemon
      • ts-node
      • typescript
  • frontend: Vite-based React application for the user interface.

    • Dependencies:
      • Chakra UI
      • Axios
      • Redux Toolkit
      • React Router
      • Chakra React Select
      • lodash
    • Dev Dependencies:
      • TypeScript
      • Vite

Visit [http://localhost:${process.env.PORT || 3000}](http://localhost:${process.env.PORT || 3000}) in your browser.

Feel free to fork, modify, and adapt the code for your needs! If you encounter any issues or have questions, please refer to the project's documentation or open an issue on the repository.

Releases

No releases published

Packages

No packages published

Languages