- Ambil data cuaca otomatis dari OpenWeatherMap API
- Mendukung multi-kota: Jakarta, Bandung, Surabaya, dll.
- Simpan data ke PostgreSQL (lokal & Railway)
- Dashboard real-time dengan auto-refresh
- Otomatisasi fetch via cron di Railway
📁 Klik untuk lihat
cuaca\_project/
├── dashboard/
│ └── app.py # Dashboard Streamlit
├── data/ # (Opsional jika pakai CSV)
│ ├── raw/
│ └── processed/
├── scripts/
│ ├── fetch\_data.py # Ambil data cuaca ke DB
│ └── migrate\_to\_railway.py # Migrasi manual dari lokal ke cloud
├── tools/
│ └── migrate\_to\_railway.py # Bisa dipindah ke sini
├── .env # Env lokal (diabaikan Git)
├── migrate.env # Env Railway (jangan di-commit)
├── requirements.txt
├── .gitignore
└── README.md
- Clone repo:
git clone https://github.com/Muhasix/cuaca_project.git
cd cuaca_project- Buat virtual environment & aktifkan:
python3 -m venv env
source env/bin/activate- Install dependency:
pip install -r requirements.txt- Buat file
.envdan isi:
OPENWEATHER_API_KEY=your_api_key
PGHOST=localhost
PGDATABASE=cuaca_db
PGUSER=cuaca_user
PGPASSWORD=cuaca_pass
PGPORT=5432- Jalankan dashboard:
streamlit run dashboard/app.py- Setup PostgreSQL dan Streamlit di Railway
- Tambahkan variabel
.envdi Railway Environment tab - Gunakan Pre-deploy command untuk
fetch_data.py - Gunakan Cron Schedule untuk auto-refresh data
- Siapkan
migrate.env:
PGHOST=your_railway_host
PGPORT=your_railway_port
PGUSER=postgres
PGPASSWORD=your_password
PGDATABASE=railway- Jalankan migrasi dari lokal:
python scripts/migrate_to_railway.pyMIT License — bebas digunakan, dimodifikasi, dan dikembangkan.
Sukses deploy? ✨ Update link dashboard-nya ya!
