Dự án này là ứng dụng dự báo thời tiết gồm Frontend (React) và Backend (Node.js + Express). Ứng dụng cho phép:
- Tìm kiếm thành phố
- Gợi ý thành phố khi nhập (autocomplete)
- Xem nhiệt độ, độ ẩm, mô tả thời tiết theo thời gian thực
- Dữ liệu được lấy từ OpenWeather API.
-
Frontend
- React
- Axios
- Tailwind CSS
- Custom Hooks (useDebounce, useCitySuggestions)
-
Backend
- Node.js
- Express
- Axios
- dotenv
- OpenWeather API
Mở Terminal và di chuyển vào thư mục backend:
Cài đặt node_modules:
cd backend
npm installTạo file .env
PORT=3001
WEATHER_API_KEY=your_openweather_api_keyLấy API key tại: https://openweathermap.org/api
Chạy server
npm run devBackend sẽ chạy tại:
http://localhost:3001Di chuyển vào thư mục frontend:
cd frontend
npm installChạy server
npm run devBackend sẽ chạy tại:
http://localhost:3000- Autocomplete thành phố (debounce input)
- Gọi API tối ưu, tránh spam request
- UI đơn giản, thân thiện
- Custom React Hooks giúp tách logic rõ ràng
- Frontend & Backend chạy độc lập
- Có thể cấu hình proxy hoặc deploy riêng
- Phù hợp để học React Hooks, API handling và Node.js Express
Chúc bạn cài đặt thành công! 🚀