CI/CD dengan GitHub Actions pada Aplikasi BloodConnect - Sistem Pendaftaran Donor Darah PMI
← Kembali ke etalase
DevOps & CloudWeb DevelopmentNetwork & SystemShowcase
Infrastructure DesignKomunitas & Sosial MasyarakatKesehatan & Layanan Medis

CI/CD dengan GitHub Actions pada Aplikasi BloodConnect - Sistem Pendaftaran Donor Darah PMI

Website pendaftaran donor darah PMI, dilengkapi sistem CI/CD, logging, health check, dan backup otomatis, sudah live di hosting publik.

Dipublikasikan: 12 September 2026

Alur Asesmen Tripartit

  1. 1Mahasiswa
  2. 2Koordinator
  3. 3Industri
  4. 4Selesai

Tentang Project

BloodConnect adalah website pendaftaran donor darah untuk PMI. Calon pendonor bisa daftar online, lalu panitia tinggal buka dashboard untuk approve atau reject pendaftaran, dan pendonor langsung dapat notifikasi begitu diterima. Project ini juga jadi latihan penerapan praktik DevOps: ada pipeline CI/CD di GitHub Actions yang otomatis ngecek kode tiap kali push, sistem log aktivitas login, endpoint untuk cek kesehatan server, dan konfigurasi sensitif (kredensial database) yang dipisah pakai file .env supaya tidak ikut ter-upload ke GitHub.

Masalah yang Diselesaikan

Pendaftaran donor darah manual susah dipantau panitia secara langsung. Dengan sistem ini, semua data pendaftaran tersimpan di database, jadi panitia bisa approve/reject kapan saja dan pendonor otomatis tahu statusnya, tanpa perlu nunggu telepon atau email manual.

Cara Berpikir di Balik Project Ini

Bukti proses berpikir kontributor mengerjakan project ini — bukan cuma hasil akhirnya.

Kenapa pendekatan ini

Awalnya coba pakai VM Debian sendiri biar web-nya bisa diakses online, tapi masalahnya laptop/VM harus nyala terus tiap mau diakses. Terus coba ngrok juga, tapi linknya ganti-ganti tiap dinyalain ulang. Akhirnya pindah ke InfinityFree karena gratis dan bisa online 24 jam tanpa laptop nyala. Untuk data pendaftaran donor, awalnya cuma disimpan di localStorage browser, tapi ternyata itu bikin data cuma nyangkut di 1 device doang. Jadi saya ubah sistemnya biar simpan ke database MySQL.

Bagian tersulit

Paling lama stuck di masalah struktur folder GitHub yang ternyata kebungkus 1 folder lagi, jadi README-nya nggak langsung muncul waktu link dibuka. Terus juga sempat lama banget nyari kenapa fitur kirim email approval selalu gagal, ternyata file library PHPMailer-nya rusak isinya. Ada juga bug kecil tapi bikin pusing soal jumlah parameter di query database yang nggak sama jumlahnya, jadi error terus sampai saya cek satu-satu manual. Cara ngatasinnya kebanyakan dengan cek error message-nya pelan-pelan, terus coba lagi sampai ketemu penyebabnya.

Yang dipelajari

Sebelum ini saya belum pernah pakai Git buat kerjaan beneran, sekarang jadi ngerti cara push. Saya juga baru pertama kali pakai FTP/FileZilla buat upload ke hosting, dan belajar cara baca error dari Network tab di browser buat ngecek kenapa suatu fitur gagal. Yang paling kerasa juga saya jadi paham bedanya nyimpen data di localStorage sama di database, dan kenapa itu penting kalau mau web-nya bisa dipakai banyak orang dari device berbeda-beda.

Galeri

Video Demo

Teknologi

PHPMySQLHTMLCSSJavaScriptGitHub ActionsPHPMailerInfinityFree Hosting
Lihat demo langsung ↗

Mungkin Juga Menarik untuk Anda

Karya lain dari bidang yang sama.