Skip to content

Stay focused and never miss your prayers (Sholat). This lightweight app gently reminds you, helping you avoid digital rabbit holes and stay connected to Allah

Notifications You must be signed in to change notification settings

herbras/BelGolang

Repository files navigation

Salat CLI

Sebuah aplikasi command-line untuk menampilkan jadwal waktu sholat dengan berbagai fitur interaktif dan geocoding otomatis.

✨ Fitur Utama

  • 🌍 Smart Location Input: Setup dengan alamat atau koordinat
  • πŸ” Geocoding Otomatis: Konversi alamat ke koordinat secara otomatis
  • πŸ“ Location Names: Tampilan nama lokasi yang mudah dibaca
  • ⚑ Setup Cepat: Satu perintah untuk konfigurasi lokasi
  • πŸ•°οΈ Countdown Real-time: Countdown ke waktu sholat berikutnya
  • πŸ“Ί Live Update: Mode watch dengan update otomatis setiap menit
  • πŸ”” Notifikasi: Opsi notifikasi saat masuk waktu sholat
  • 🎨 UI Cantik: Interface terminal berwarna dengan emoji
  • βš™οΈ Konfigurasi Fleksibel: 8 metode perhitungan (MWL, ISNA, Egypt, Makkah, Karachi, Tehran, Kemenag, JAKIM)

πŸš€ Instalasi

  1. Clone repository ini:
git clone https://github.com/herbras/BelGolang.git
cd BelGolang
  1. Build aplikasi:
go build -o salat
  1. (Opsional) Install ke sistem:
go install

πŸ“– Penggunaan

🌍 Setup Lokasi (Baru!)

Setup dengan Alamat

# Setup dengan nama kota/alamat
salat setup "Jakarta, Indonesia"
salat setup "Bandung, Indonesia"
salat setup "Monas Jakarta"

# Pilih API geocoding
salat setup "Surabaya" --api photon
salat setup "Medan" --api nominatim  # default

Setup dengan Koordinat

# Format: "latitude,longitude"
salat setup -- "-6.2,106.8"        # Jakarta
salat setup -- "-6.9,107.6"        # Bandung
salat setup -- "-7.25,112.75"      # Surabaya

Setup Interaktif (Klasik)

salat setup

πŸ“… Perintah Utama

Tampilkan Jadwal Hari Ini

salat show

Contoh output:

πŸ•Œ Jadwal Sholat - Friday, 30 May 2025
πŸ“ Kota Bandung, Jawa Barat, Jawa, Indonesia (-6.921846, 107.607083) β€’ Kemenag

WAKTU           JAM      STATUS
-------------------------------
πŸŒ™  Imsak        04:27    βœ“
πŸŒ…  Subuh        04:37    βœ“
β˜€οΈ  Dzuhur      11:52    βœ“
🌀️  Ashar       15:14    
πŸŒ‡  Maghrib      17:45
✨  Isya         18:59
-------------------------------

⏰ Sholat berikutnya: 🌀️ Ashar dalam 1h 22m

Countdown Sholat Berikutnya

salat next    # atau salat n

Status Sholat Saat Ini

salat now

Mode Live Update

salat watch   # atau salat w

# Dengan notifikasi
salat watch --notify

βš™οΈ Konfigurasi

Lihat Konfigurasi

salat config show

Ubah Lokasi

# Dengan alamat
salat config set location "Yogyakarta, Indonesia"

# Dengan koordinat
salat config set location -- "-7.8,110.4"

Ubah Pengaturan Lain

salat config set timezone Asia/Jakarta
salat config set method Kemenag
salat config set geocoding_api photon

Kunci Konfigurasi yang Tersedia

  • timezone - Zona waktu (contoh: Asia/Jakarta)
  • location - Lokasi (alamat atau koordinat)
  • latitude - Garis lintang
  • longitude - Garis bujur
  • method - Metode perhitungan (MWL, ISNA, Egypt, Makkah, Karachi, Tehran, Kemenag, JAKIM)
  • geocoding_api - API geocoding (nominatim, photon)

🌐 Geocoding APIs

Aplikasi ini mendukung dua penyedia geocoding:

Nominatim (Default)

  • API gratis dari OpenStreetMap
  • Rate limit: 1 request/second
  • Coverage: Global

Photon

  • API gratis dari Komoot
  • Lebih cepat dari Nominatim
  • Coverage: Global
  • Usage: --api photon

🎨 Opsi Tampilan

Mode Compact

salat show --compact

Tema

salat show --theme dark
salat show --theme light  # default

πŸ”§ Development

Build untuk Development

go run main.go setup "Jakarta"
go run main.go show

Build untuk Production

go build -ldflags="-s -w" -o salat

Build untuk Semua Platform

goreleaser build --snapshot --clean

πŸ“ API Geocoding

Aplikasi menggunakan geocoding API eksternal untuk konversi alamat:

  • Forward Geocoding: Alamat β†’ Koordinat + Nama Lokasi
  • Reverse Geocoding: Koordinat β†’ Nama Lokasi
  • One-time Only: API dipanggil sekali saat setup, hasil disimpan di config
  • Offline-first: Setelah setup, tidak perlu internet untuk perhitungan sholat

🀝 Contributing

Lihat CONTRIBUTING.md untuk panduan kontribusi.

πŸ“„ License

MIT License - lihat file LICENSE untuk detail.

πŸ”— Links


Version: 1.6.0 β€’ Last Updated: January 2025

About

Stay focused and never miss your prayers (Sholat). This lightweight app gently reminds you, helping you avoid digital rabbit holes and stay connected to Allah

Topics

Resources

Contributing

Stars

Watchers

Forks

Packages

No packages published