Platform undangan pernikahan digital untuk pasangan Indonesia. Desain eksklusif, mudah dibagikan, tanpa kertas.
3 tema eksklusif: Javanese Malam Emas, Taman Bunga, Minimalis Putih
Konfirmasi RSVP online dengan rate limiting
Dinding ucapan & doa real-time (polling 30 detik)
Countdown menuju hari pernikahan
Integrasi Google Maps
Amplop digital (transfer bank dengan satu klik salin)
Pemutar musik latar
Dashboard RSVP untuk pasangan (JWT auth)
Export data RSVP ke CSV
Watermark opsional
Backend : Python 3.12, Django 5.0, DRF, SimpleJWT, PostgreSQL 16
Frontend : React 18.3, Vite 5.2, Framer Motion 11, Axios 1.7
Infrastructure : Docker, Docker Compose, Nginx 1.25
git clone < repo-url>
cd undangan
cp .env.example .env
# Edit .env dengan nilai yang sesuai (terutama SECRET_KEY dan DB_PASSWORD untuk produksi)
docker compose up --build
docker compose exec backend python manage.py migrate
4. Buat superuser (admin)
docker compose exec backend python manage.py createsuperuser
Buka Admin panel → http://localhost:8000/admin/
Masuk dengan akun superuser
Klik Invitations → Add
Isi data:
Slug : misal budi-sari-2025 (akan jadi URL undangan)
Theme : pilih salah satu
Wedding date : tanggal pernikahan
Is active : centang ✓
Di bagian Couple , isi nama pengantin pria & wanita
Di bagian Events , tambahkan akad nikah dan/atau resepsi
Opsional: tambahkan foto, cerita, rekening bank, musik
Buat User baru untuk pasangan (Auth → Users → Add)
Kembali ke undangan, set Couple user ke user yang baru dibuat
Simpan
Publik : http://localhost:5173/{slug}
Dengan greeting tamu : http://localhost:5173/{slug}?to=Nama+Tamu
Dashboard RSVP : http://localhost:5173/dashboard → login dengan akun couple_user → /dashboard/{slug}
Method
Endpoint
Auth
Deskripsi
GET
/api/invitations/{slug}/
—
Data undangan lengkap
POST
/api/invitations/{slug}/rsvp/
—
Kirim RSVP (max 5/IP/jam)
GET
/api/invitations/{slug}/rsvps/
JWT
Daftar RSVP + statistik
GET
/api/invitations/{slug}/wishes/
—
Dinding ucapan publik
POST
/api/auth/login/
—
Login, dapatkan JWT
POST
/api/auth/refresh/
—
Refresh JWT
# Pastikan .env sudah dikonfigurasi untuk produksi:
# DEBUG=False
# SECRET_KEY=<key-yang-kuat>
# ALLOWED_HOSTS=domain-anda.com
# CORS_ALLOWED_ORIGINS=https://domain-anda.com
docker compose -f docker-compose.prod.yml up --build -d
docker compose -f docker-compose.prod.yml exec backend python manage.py migrate
docker compose -f docker-compose.prod.yml exec backend python manage.py collectstatic --noinput
docker compose -f docker-compose.prod.yml exec backend python manage.py createsuperuser