Title: Weather Web App
Objective: Build a small full-stack weather application that fetches and displays current weather and a 5-day forecast for a searched city. The backend proxies requests to OpenWeatherMap to keep the API key secret.
This app allows users to search for a city and view:
- Current temperature, description, humidity, wind speed
- 5-day forecast (daily summaries)
Why: demonstrates RESTful proxying, frontend-backend communication, and using third-party APIs securely (API key stored on server-side). The project follows the course PDF submission checklist (README, .env.example, screenshots, deployment notes).
- Frontend: React (Create React App), HTML, CSS, JS
- Backend: Node.js, Express.js (proxy to OpenWeatherMap)
- API: OpenWeatherMap (free tier)
- Deployment: Vercel (frontend), Render (backend) or use Docker Compose locally
https://github.com/Saisuman55/weather-web-app (replace with your repo link if different)
- Frontend:
https://<your-frontend>.vercel.app - Backend:
https://<your-backend>.onrender.com
- Sign up at https://openweathermap.org/ and get an API key (free tier).
cd server- Copy
.env.exampleto.envand fill:PORT=5000 OPENWEATHER_API_KEY=your_openweather_api_key
- Install & run:
npm install npm run dev # uses nodemon (dev) or npm start for production
API endpoints (proxied):
GET /api/weather/current?q=<city>— current weatherGET /api/weather/forecast?q=<city>— 5 day forecast
cd client- Install & run:
npm install npm start
- The client uses
http://localhost:5000/apiby default; setREACT_APP_API_URLif backend deployed elsewhere.
Add these to screenshots/ and link in README:
- Home / search page —
home.png - Current weather view —
current.png - Forecast view —
forecast.png - Mobile responsive view —
mobile.png
- Do not commit
.envor your real OpenWeather API key — use.env.exampleonly. - Include screenshots and deployment links before submission.