Skip to content

ardie069/kalender-hijriyah

Repository files navigation

🕌 Hilal Scope: Kalender Hijriyah Digital API 🌙

Go Release Framework: Gin Engine: SPICE Toolkit License: MIT

Hilal Scope adalah REST API berperforma tinggi untuk perhitungan kalender Hijriyah presisi tingkat wahana antariksa. Menggunakan data ephemeris NASA JPL SPICE, API ini menyediakan sinkronisasi real-time antara posisi benda langit dengan penetapan tanggal Hijriyah menggunakan berbagai kriteria global maupun lokal.


🚀 Fitur Unggulan

  • 🔭 NASA-Grade Precision: Menggunakan kernel de440s.bsp untuk akurasi data posisi Bulan dan Matahari yang ekstrem.
  • 🌍 KHGT (Unified Global Hijri Calendar): Implementasi KHGT dengan pemindaian visibilitas global 24 jam yang deterministik.
  • 🇮🇩 MABIMS (Sabang Reference): Penentuan awal bulan berdasarkan titik Sabang sesuai standar MABIMS 2022.
  • 🕋 Umm al-Qura (Makkah Reference): Simulasi kalender resmi Saudi dengan telemetri spesifik koordinat Makkah.
  • 📊 Rich Lunar Telemetry: Data altitude (apparent), topocentric elongation, illumination, moon phase name, dan jarak Bumi-Bulan.
  • 📍 Mandatory Coordinates: Parameter lat dan lon wajib untuk akurasi data toposentris (lokal observer).

🛠️ Teknologi & Arsitektur

  • Golang: Bahasa utama untuk performa tinggi dan konkurensi.
  • Gin: Framework HTTP yang efisien.
  • CSPICE (C-Kernel): Integrasi CGO ke pustaka NASA SPICE untuk kalkulasi falak tingkat lanjut. Sumber CSPICE Toolkit
  • Docker: Mendukung multi-stage build untuk deployment yang bersih.

📁 Struktur Proyek

kalender-hijriyah/
├── cmd/
│   └── api/              # Entry point Gin API Server
├── data/                 # SPICE Kernels (de440s.bsp, naif0012.tls, dll)
├── core/
│   ├── api/              # Handlers & Routes
│   ├── astronomy/        # Bindings CSPICE & Orbit Engine
│   ├── calendar/         # Logika KHGT, MABIMS (Sabang), Umm al-Qura
│   ├── models/           # Skema Data (HijriDate, MoonTelemetry)
│   ├── prayer/           # Jadwal Shalat & Koreksi Lintang
│   └── services/         # Orkestrasi & Resolusi Bulan
├── docs/                 # Dokumentasi Teknis & Teori Falak
└── README.md

📡 API Endpoints (v4)

Semua endpoint tersedia di prefix /api/v4/ atau /v4/.

Endpoint Method Deskripsi Parameter Utama
/hijri/date GET Konversi & Prediksi Hijriyah (4 Metode) lat, lon, date
/hijri/calendar GET Kalender Hijriyah Tahunan year, lat, lon
/moon/telemetry GET Data Astronomi Bulan Real-time lat, lon
/prayer/times GET Jadwal Shalat Presisi lat, lon, method

🚢 Deployment (Vercel)

API Hilal Scope dapat diakses secara publik melalui:
https://kalender-hijriyah-api.vercel.app/

Proyek ini telah dikonfigurasi untuk berjalan di Vercel dengan skrip build otomatis yang mengunduh dan mengonfigurasi libcspice.a.

  1. Pastikan file vercel.json sudah ada di root.
  2. Gunakan Environment Variables untuk konfigurasi tambahan jika diperlukan.
  3. Push ke GitHub dan hubungkan dengan Vercel.

📚 Dokumentasi Lanjutan

Untuk selengkapnya mengenai API ini, silahkan kunjungi Dokumentasi Lengkap


📜 Lisensi

Lisensi MIT. Dikembangkan oleh Ardiansyah.

⚠️ Disclaimer & Credits

  • Astronomical calculations are powered by NASA's SPICE Toolkit (NAIF).
  • This project is an independent educational tool and is not affiliated with or endorsed by NASA.
  • All calculations are for informational purposes only and should not be used for critical decision-making.

About

Kalender Hijriyah API Digital berbasis CSPICE CGO Golang GIN

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors