kadomu.online
Private sourceMVPPlatform pembuat website kado personal: pilih template, isi cerita dan foto, lalu buat hadiah digital.

Kado personal. Cerita yang hidup. Pilih momen, tentukan desain, lalu lengkapi cerita dan foto untuk hadiah digitalmu. Dari halaman awal hingga formulir personalisasi
Sorotan kontribusi saya
- Mengerjakan katalog/preview, personalisasi pesan/foto/musik, interaksi template, dan dukungan reduced motion.
- Menambahkan validasi isi/tipe gambar, optimasi Sharp, pengelolaan media, QR, dan payload render slug/subdomain.
- Mengelola masa aktif site, expiry/cache render, cleanup aset, dan penghapusan site.
Daftar isi · 8 modul kontribusi
Gambaran alur utama
6 langkahPelanggan mengubah template menjadi website hadiah personal. Validasi media, pembayaran, dan masa aktif menentukan kapan site dapat diakses penerima.
01Rancang hadiah personal
Pilih kategori dan template
PelangganIsi konten dan media
Pelanggan
02Validasi dan bayar
Periksa slug dan gambar
API HonoBuat order dan invoice
Pelanggan & provider Mayar
03Bagikan website hadiah
Render site personal
Sistem & penerimaKelola masa aktif
Sistem & admin
Rincian proses dan percabangan
Pilih kategori dan templatePelanggan
Jelajahi katalog, buka preview template, lalu tentukan tampilan serta paket durasi hadiah.
Isi konten dan mediaPelanggan
Lengkapi cerita, pesan, data penerima, foto, atau musik sesuai kontrak konten template yang dipilih.
Periksa slug dan gambarAPI Hono
Validasi input serta ketersediaan slug; periksa berkas gambar dan optimalkan media sebelum dipakai oleh site.
Buat order dan invoicePelanggan & provider Mayar
Order dihubungkan dengan invoice. Backend memeriksa callback/status dan nominal pembayaran.
Pembayaran sudah sesuai?
- Pembayaran valid. Aktifkan site; callback berulang ditangani agar aktivasi tidak berulang.
- Belum dibayar / belum valid. Site belum memperoleh status aktif dari pembayaran tersebut.
Render site personalSistem & penerima
Data site aktif dibaca melalui slug/subdomain. Template menampilkan konten dan interaksi personal untuk penerima.
Kelola masa aktifSistem & admin
Akses dan cache render mengikuti masa aktif site. Admin mengelola site/order; proses cleanup menangani data dan aset yang perlu dibersihkan.
Aktivasi site mengikuti verifikasi pembayaran. Payload dan cache render dibatasi masa aktif, dengan cleanup untuk data serta media terkait.
Tentang kadomu.online
kadomu.online adalah platform pembuat website kado personal. Pelanggan memilih template, mengisi pesan dan cerita, menambahkan foto atau musik, lalu memperoleh website hadiah dengan slug/subdomain dan masa aktif. Dashboard admin digunakan untuk mengelola template, paket, pesanan, serta site yang dibuat.
Saya membangun aplikasi pelanggan, admin, API, dan paket bersama dalam satu monorepo. Pekerjaan saya mencakup pengalaman template, pembayaran, pengolahan media, serta siklus hidup website hadiah.
Kontribusi saya
Struktur monorepo dan kontrak bersama
Saya mengembangkan aplikasi pelanggan, aplikasi admin, backend Hono, dan paket shared untuk tipe data lintas aplikasi. Kontrak bersama menghubungkan masukan template, order, dan data site agar frontend serta API menggunakan bentuk data yang sesuai. PostgreSQL dan Drizzle digunakan untuk schema serta migrasi penyimpanannya.
Katalog, preview, dan personalisasi
Saya membangun pemilihan kategori/template, preview, formulir personalisasi, halaman pesanan, serta halaman sukses. Konten pelanggan dihubungkan dengan kontrak data template agar pesan, cerita, penerima, foto, serta musik dapat digunakan pada website hadiah yang dipilih.
Interaksi template dan pengalaman penerima
Saya mengerjakan state template, pembukaan konten, pengungkapan pesan panjang, kontrol musik, dan progres interaksi. Saya juga menangani respons terhadap preferensi reduced motion. Registry template menghubungkan pilihan katalog dengan komponen serta kebutuhan konten yang dipakai ketika site dirender.
Order, pembayaran Mayar, dan aktivasi
Saya mengembangkan validasi input, pemeriksaan/reservasi slug, pembuatan order, dan penghubung invoice Mayar. Saya memeriksa callback, status provider, serta nominal pembayaran sebelum aktivasi site. Penanganan callback berulang membantu menjaga agar pembayaran yang sama tidak memicu aktivasi yang berulang.
Validasi, optimasi, dan penyajian media
Saya menambahkan pemeriksaan tipe serta isi awal berkas gambar, optimasi dengan Sharp, pemrosesan media template, dan pembuatan aset QR. Payload render menyajikan data site menurut slug/subdomain sehingga konten personal dapat dimuat oleh template yang sesuai.
Masa aktif, cache render, dan cleanup
Saya membedakan order belum dibayar, site aktif, serta site kedaluwarsa pada proses aplikasi. Cache render dibatasi oleh masa aktif site. Saya mengerjakan cleanup aset dan penghapusan site agar hubungan antara data database serta media yang perlu dibersihkan tetap dapat dikelola.
Dashboard admin, autentikasi, dan deployment
Saya membangun pengelolaan kategori, template, paket durasi, order, site, demo, serta dashboard. Session admin menggunakan hash Argon2. Saya juga menyiapkan pemisahan web, admin, dan API melalui konfigurasi Docker serta Nginx agar kebutuhan tiap aplikasi dapat dikelola sesuai perannya.
Kontrak template dan pemeriksaan kualitas
Saya memperkuat hubungan progres interaksi dengan penyelesaian template, menambahkan pemeriksa AST TypeScript, dan mengembangkan validator bukti yang terikat fingerprint source. Saya menulis tes callback, visibilitas, serta progres penyelesaian untuk memeriksa perubahan yang dapat memengaruhi aktivasi site dan pengalaman penerima hadiah.
Bidang & teknologi inti
Bidang proyek
Teknologi inti
153 commit dalam 12 bulan terakhir
Semua branch| Nov | Des | Jan | Feb | Mar | Apr | Mei | Jun | Jul | Agu | Sep | Okt | Nov | |||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Minggu | |||||||||||||||||||||||||||||||||||||||||||||||||||||
| Senin | |||||||||||||||||||||||||||||||||||||||||||||||||||||
| Selasa | |||||||||||||||||||||||||||||||||||||||||||||||||||||
| Rabu | |||||||||||||||||||||||||||||||||||||||||||||||||||||
| Kamis | |||||||||||||||||||||||||||||||||||||||||||||||||||||
| Jumat | |||||||||||||||||||||||||||||||||||||||||||||||||||||
| Sabtu |
Cara perhitungan · 1 repo · 1 branch
Commit milik saya yang terjangkau dari seluruh branch remote saat sinkronisasi. Satu SHA dihitung sekali, termasuk jika ada di beberapa branch atau fork. Merge commit dikecualikan. Tanggal memakai waktu author dalam WIB, bukan waktu push. Streak saat ini tetap berjalan bila commit terakhir kemarin dan hari ini belum selesai.
Ini kalender commit dengan cakupan semua branch, sehingga angkanya dapat berbeda dari kalender contributions GitHub yang juga memiliki jenis aktivitas dan aturan branch sendiri. Kalender ini khusus untuk proyek yang sedang dibaca.
Riwayat kontribusi
153 commit non-merge milik saya · Seluruh branch · Data 3 November 2026.