React.js and Express.js weather app. Check out mawesome
- Get weather data for any city.
- Built for both desktop and mobile devices.
- Pin and unpin cities and click on their respective widgets to breeze easily through weather reports of your favorite cities.
- Pinned cities and current city remain saved for future sessions on the same browser.
- Used React Context API to save current session data locally on browser.
- Customized background for every weather condition for aesthetics.
- Minimal glassmorphism design approach to be even more worthy of your screen space.
Before you begin, ensure you have the following installed:
- Node.js (v14.0.0 or later)
- npm (v6.0.0 or later)
git clone https://github.com/owl099/weather-app.git
cd mawesomeNavigate to the server directory:
cd serverInstall dependencies:
npm installSet up server environment variables:
Create a .env file in the root of the server directory and add your environment variables:
API_KEY=your_weather_api_key_for_openweathermap
Run the server:
npm startThe server will run on http://localhost:5000.
Navigate to the client directory:
cd ../clientInstall dependencies:
npm installSet up client environment variables:
Create a .env file in the root of the client directory and add your environment variables:
REACT_APP_API_URL=http://localhost:5000
Note: Replace http://localhost:5000 with your server URL if it's different.
Run the client:
npm startmawesome will run on http://localhost:3000.
- Open your browser and go to
http://localhost:3000. - Enter a city name in the search bar to get weather information.
- Pin your favorite cities for quick access in future sessions.
- Click on city widgets to view detailed weather reports.