Đây là web mình làm theo video youtube: https://www.youtube.com/watch?v=MIYQR-Ybrn4&list=PLjwm_8O3suyOgDS_Z8AWbbq3zpCmR-WE9, mình đã cải tiến thêm backend proxy với nodejs để bảo mật apiKey
- Clone repository:
git clone https://github.com/ducduy2424/WEATHER-APP.git
cd weather-app- Cài đặt dependencies:
npm install- Tạo file
.envvà thêm API key:
# Tạo file .env
echo "WEATHER_API_KEY=your_actual_api_key_here" > .env- Chạy ứng dụng:
npm startỨng dụng sẽ chạy tại http://localhost:3000
- API key được lưu trong file
.env(không được commit lên Git) - Backend proxy để ẩn API key khỏi frontend
- File
.gitignoređể loại trừ các file nhạy cảm
- KHÔNG BAO GIỜ commit API key lên Git
- File
.envđã được thêm vào.gitignore - Sử dụng backend proxy thay vì gọi API trực tiếp từ frontend
- Sử dụng environment variables trên server
- Cấu hình CORS cho domain cụ thể
- Thêm rate limiting và validation
weather-app/
├── index.html # Frontend
├── style.css # CSS styles
├── server.js # Backend proxy
├── package.json # Dependencies
├── .env # API key (không commit)
├── .gitignore # Git ignore rules
└── images/ # Weather icons
GET /api/weather?city=<city_name>- Lấy thông tin thời tiết
Nếu gặp lỗi "API key not configured":
- Kiểm tra file
.envcó tồn tại không - Đảm bảo API key đã được thêm vào file
.env - Restart server sau khi thay đổi file
.env