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.
weather-demo.mp4
weather-app-responsive.mov
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.
cd backend
npm install
# Run in development mode
npm run dev
# Build for production
npm run build
# Start in production mode
npm start
cd weather-app-frontend
npm install
# Run in development mode
npm run dev
# Build for production
npm run build
# Preview the production build
npm run preview
-
backend: Express server for handling API requests.
- Dependencies:
- axios
- cors
- dotenv
- express
- Dev Dependencies:
- @types/cors
- @types/express
- nodemon
- ts-node
- typescript
- Dependencies:
-
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
- Dependencies:
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.