EN — English

Muhamad Irga

Purwokerto, Jawa Tengah

Diperbarui

Hadira — Backend Presensi Sekolah (Go)

Backend presensi sekolah berbasis Go: sesi presensi, QR code dan pemeriksaan lokasi, koreksi presensi, tahun ajaran, laporan matriks, ekspor, serta observabilitas Prometheus dan OpenTelemetry.

Pelajari layanannya: Jasa Pembuatan Aplikasi Sekolah & PKBM

Tangkapan layar

Dokumentasi API presensi Hadira yang mendaftar endpoint yang tersedia
Tampilan utama aplikasi · Buka gambar untuk resolusi penuh

Ringkasan

Apa yang dikerjakan sistem ini.

Hadira adalah backend presensi untuk lingkungan pendidikan yang ditulis dengan Go dan Gin. Lembaga, siswa, guru, orang tua, kelas, tingkat, ruang beserta klasifikasinya, mata pelajaran, jadwal, dan penugasan staf menjadi dasar pencatatan presensi. Data tiap lembaga terisolasi, dan dasbor serta akses data berbeda menurut peran superadmin, administrator, guru, siswa, dan orang tua.

Presensi mencakup sesi dengan daftar peserta, token QR yang bisa disegarkan, check-in bergeolokasi, entri manual, koreksi presensi, penghitungan keterlambatan, dan riwayat presensi. Kebijakan presensi, pekan sekolah, semester, dan kalender akademik menentukan konteks kegiatan yang sedang berjalan, dengan pemeriksaan kesiapan sebelum mengaktifkan tahun ajaran. Administrasi akademik mencakup pendaftaran dan penempatan siswa, permintaan pemutakhiran profil berdokumen, dan kenaikan kelas.

Pelaporannya berlapis: rekap per siswa, kelas, dan mata pelajaran, laporan generasi kedua dengan dimensi yang bisa dipilih, matriks presensi, dan ekspor spreadsheet. Impor data berjalan sebagai job dengan status dan unduhan baris yang gagal. Untuk operasional, layanan ini menyediakan metrik Prometheus, tracing OpenTelemetry dengan exporter Jaeger, logging terstruktur zerolog, dokumentasi Swagger, koleksi Postman, penyimpanan berkas S3, serta rangkaian uji unit dan integrasi yang luas. Aplikasi web admin dan aplikasi mobile Flutter mengonsumsi API ini.

Daftar fitur

Rincian kemampuan

31 kemampuan yang diverifikasi langsung terhadap kode sumber proyek.

Lembaga dan data induk

  • Pengelolaan lembaga dengan isolasi data antarsekolah
  • Akun dan hak akses untuk superadmin, administrator, guru, siswa, dan orang tua
  • Data siswa, guru, dan orang tua beserta relasinya
  • Direktori siswa dengan pencarian dan filter
  • Kelas, tingkat, ruang, dan klasifikasi ruang
  • Mata pelajaran, jadwal pelajaran, dan penugasan staf

Presensi

  • Sesi presensi dengan daftar peserta dan pengelolaan sesi
  • Penerbitan dan penyegaran token QR untuk sesi yang aktif
  • Check-in QR dengan validasi token dan data lokasi
  • Entri presensi manual oleh guru atau administrator
  • Koreksi presensi dengan pencatatan perubahan
  • Penghitungan keterlambatan berdasarkan kebijakan sekolah
  • Riwayat presensi dan proyeksi presensi historis

Kalender akademik

  • Pengaturan kebijakan presensi dan aturan pekan sekolah
  • Tahun ajaran, semester, kalender akademik, dan konteks akademik aktif
  • Pemeriksaan kesiapan sebelum tahun ajaran diaktifkan
  • Pendaftaran, penempatan, dan kenaikan kelas siswa
  • Permintaan pemutakhiran profil dengan dokumen pendukung

Dasbor dan pelaporan

  • Dasbor administrator, guru, siswa, dan orang tua
  • Dasbor insight, operasional, dan indikator risiko kehadiran
  • Laporan presensi per siswa, kelas, dan mata pelajaran
  • Laporan lanjutan dengan dimensi yang bisa dipilih dan matriks presensi
  • Ekspor laporan, siswa, orang tua, guru, dan riwayat presensi

Data dan operasional

  • Impor data sebagai job dengan status dan unduhan baris yang gagal
  • Penghapusan data massal dengan pemeriksaan integritas
  • Notifikasi dengan preferensi pengguna
  • Unggahan berkas ke object storage S3

Platform dan observabilitas

  • Autentikasi JWT, pembatasan laju permintaan, dan log aktivitas
  • Metrik Prometheus, tracing OpenTelemetry/Jaeger, dan logging terstruktur
  • Dokumentasi Swagger dan koleksi Postman untuk konsumen API
  • Uji unit dan integrasi, termasuk property-based testing

Teknologi

Dibangun dengan 14 teknologi.

  • Go 1.24
  • Gin
  • GORM
  • PostgreSQL
  • Redis
  • JWT
  • Excelize
  • Amazon S3
  • Prometheus
  • OpenTelemetry
  • Jaeger
  • Zerolog
  • Swagger
  • Testify

Pertanyaan umum

Yang biasanya ditanyakan.

Bagaimana presensi QR menahan titip absen?

Token sesi disegarkan, sehingga tangkapan layar yang diambil sebelumnya tidak lagi valid, dan check-in juga memvalidasi data lokasi. Keduanya membuat titip absen jauh lebih sulit daripada memanggil daftar hadir.

Apakah presensi bisa dikoreksi setelahnya?

Bisa, dan koreksinya dicatat, bukan menimpa data lama. Keterlambatan dihitung dari kebijakan sekolah, jadi koreksi menghitung ulang secara konsisten tanpa penyesuaian manual.

Apa yang tersedia untuk kebutuhan operasional?

Metrik Prometheus, tracing OpenTelemetry dengan exporter Jaeger, logging terstruktur, dokumentasi Swagger, dan koleksi Postman — dengan uji unit, integrasi, dan property-based di belakangnya.

Satu bidang

Butuh sistem seperti ini?

Kirim ringkasan singkat, saya balas dengan lingkup kerja, pendekatan, dan estimasi waktu yang jujur.