- 📊 Penyimpanan Data: Menggunakan Google Sheets API untuk menyimpan dan mengelola data undangan.
- 📱 Desain Responsif: Dioptimalkan untuk berbagai ukuran layar.
-
Unduh proyek atau kloning repositori:
git clone https://github.com/sandiperdiansah/wedding-invitation.git
-
Catatan: Anda memiliki dua pilihan untuk menggunakan kode sumber ini:
- Tanpa Modifikasi: Buka file data.js untuk langsung menggunakannya.
- Dengan Kustomisasi: Sesuaikan tampilan dan kontennya sesuai kebutuhan Anda.
-
Detail: Perbarui nama pengantin, tanggal dan waktu pernikahan, serta alamat lokasi acara.
-
Tautan:
- 📅 Kalender: Tambahkan URL acara di Google Calendar. Buat acara, tambahkan judul dan deskripsi, lalu simpan. Klik "Bagikan" untuk mendapatkan tautan yang dapat dibagikan.
- 📍 Peta: Masukkan URL lokasi acara dari Google Maps.
-
🖼️ Galeri: Anda bisa menambahkan lebih dari 5 gambar, pastikan ukurannya dioptimalkan untuk web.
-
🎵 Audio: Ganti file audio default dan pastikan ukurannya optimal.
- Buat file Google Sheets: Buka Google Sheets, buat file baru, dan beri nama sesuai keinginan.
-
Atur Tabel di Google Sheets:
Struktur tabel: (id, nama, status, pesan, tanggal, warna) -
Tambahkan Google Apps Script:
- Buka file Google Sheets, masuk ke "Ekstensi" > "Apps Script", lalu tambahkan kode berikut:
const SHEET_NAME = 'comentar'; const doGet = () => { try { const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(SHEET_NAME); const [, ...data] = sheet.getDataRange().getValues(); const comentar = data.map(([id, name, status, message, date, color]) => ({ id, name, status, message, date, color })); const response = { status: 200, message: 'Berhasil mengambil data', comentar }; return ContentService .createTextOutput(JSON.stringify(response)) .setMimeType(ContentService.MimeType.JSON); } catch (error) { return ContentService .createTextOutput(JSON.stringify({ status: 500, message: `Kesalahan: ${error}` })) .setMimeType(ContentService.MimeType.JSON); } }; const doPost = (e) => { try { const { id, name, status, message, date, color } = JSON.parse(e.postData.contents); const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(SHEET_NAME); if (!sheet) { throw new Error(`Sheet "${SHEET_NAME}" tidak ditemukan`); } sheet.appendRow([id, name, status, message, date, color]); return ContentService .createTextOutput(JSON.stringify({ status: 200, message: 'Data berhasil ditambahkan' })) .setMimeType(ContentService.MimeType.JSON); } catch (error) { return ContentService .createTextOutput(JSON.stringify({ status: 500, message: `Kesalahan: ${error}` })) .setMimeType(ContentService.MimeType.JSON); } };
-
Deploy Script:
- Klik "Deploy" lalu pilih "Deployment Baru".
- Pilih "Web app" dalam pengaturan deployment.
Salin URL yang diberikan. Jika terjadi kesalahan, coba deploy ulang karena terkadang ada masalah dengan cross-origin pada percobaan pertama.
Proyek ini merupakan redesain dari undangan pernikahan milik Dewanakl. Tata letak dan desain telah disesuaikan untuk meningkatkan fungsi dan estetika.
Terima kasih telah mengunjungi repositori ini. Semoga hari pernikahan Anda berjalan lancar dan penuh kebahagiaan! 😊






