Skip to content

Latest commit

 

History

7 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Kına Gecesi — Davetiye ve Katılım Sitesi

Tek sayfalık davetiye. Misafirleriniz adını ve kaç kişi geleceğini yazar, kayıt doğrudan Google E-Tablo'nuza düşer. Sunucu, veritabanı, API anahtarı yok.

index.html
assets/
  css/styles.css
  js/config.js      ← düzenlemeniz gereken tek dosya
  js/main.js
  img/mandala.png   ← tepsinin ortasındaki desen
apps-script/Code.gs ← E-Tablo'ya yapıştıracağınız kod

1. Bilgileri girin

assets/js/config.js dosyasını herhangi bir metin düzenleyiciyle açın ve tırnak içindeki değerleri değiştirin:

gelinAdi: "Maral",
tarih: "12 Eylül 2026, Cumartesi",
saat:  "20:00",
mekanAdi:   "MEKÂN ADI",
mekanAdres: "Mahalle, Sokak No, İlçe / İl",
haritaUrl:  "https://www.google.com/maps/...",
sonBildirimTarihi: "1 Eylül",

haritaUrl için Google Haritalar'da mekânı bulun, Paylaş → Bağlantıyı kopyala deyin ve buraya yapıştırın. Bağlantı yoksa "Haritada aç" düğmesi sayfada hiç görünmez.

İsmin "-in" hâli sayfada kendiliğinden üretilir: MaralMaral'ın, AyşeAyşe'nin, ZeynepZeynep'in. Yani sadece ismi yazmanız yeterli. Yabancı bir isimde sonuç kulağa yanlış gelirse gelinAdiIyelik alanına doğrusunu yazın; o zaman otomatik biçimin yerine sizinki kullanılır.

Paylaşım önizlemesi: bağlantıyı WhatsApp'ta paylaştığınızda görünen başlık index.html içindeki <title> ve og:title satırlarından okunur. O robotlar JavaScript çalıştırmadığı için config.js'teki ismi göremezler — ismin önizlemede de çıkmasını istiyorsanız bu iki satırı elle güncelleyin.

2. Mandala desenini ekleyin

Yarım mandala görselinizi assets/img/mandala.png olarak kaydedin. Site görseli aynalayarak tam daireye tamamlar, yani yarısı yeterli — düz kenar solda kalmalı. Kırpma ve boyut ayrıntıları için assets/img/README.md.

Dosyayı koymazsanız sayfa bozulmaz — tepsinin ortasında altın işlemeli yedek bir gül görünür.

3. Google E-Tablo'yu hazırlayın

  1. Yeni bir Google E-Tablo açın.

  2. Alttaki sayfa sekmesinin adını RSVP yapın (büyük harflerle, birebir).

  3. İlk satıra başlıkları yazın:

    A B C
    Zaman Ad Soyad Kişi Sayısı
  4. Tarayıcının adres çubuğundaki E-Tablo kimliğini kopyalayın — /d/ ile /edit arasında kalan uzun karakter dizisi:

    https://docs.google.com/spreadsheets/d/1AbCdEf...XyZ/edit
                                           └── bu kısım ──┘
    

4. Apps Script'i kurun

  1. E-Tablo'da Uzantılar → Apps Script.
  2. Açılan editördeki her şeyi silin, apps-script/Code.gs dosyasının tamamını yapıştırın.
  3. En üstteki SHEET_ID satırına 3. adımda kopyaladığınız kimliği yazın.
  4. Kaydedin (Ctrl+S).
  5. İsteğe bağlı ama önerilir: üstteki listeden testEt fonksiyonunu seçip Çalıştır deyin. Google izin isteyecek — Gelişmiş → …projesine git → İzin ver yolunu izleyin. E-Tablo'ya "Test Kaydı" satırı düşerse bağlantı çalışıyor demektir (o satırı sonra silin).
  6. Sağ üstten Dağıt → Yeni dağıtım:
    • Tür (dişli simgesi): Web uygulaması
    • Çalıştıran: Ben
    • Erişebilenler: Herkes ← misafirlerin Google hesabı olmadan gönderebilmesi için gerekli
    • Dağıt → verilen adresi kopyalayın (.../exec ile biter)
  7. Bu adresi assets/js/config.js içindeki appsScriptUrl alanına yapıştırın.

Kodu sonradan değiştirirseniz yeni bir dağıtım oluşturmanız ya da mevcut dağıtımı Dağıtımları yönet → düzenle → Sürüm: Yeni ile güncellemeniz gerekir. Yoksa eski kod çalışmaya devam eder.

5. Deneyin

Dosyaları tarayıcıda açmak için küçük bir yerel sunucu yeterli:

npx serve .

Formu doldurup gönderin, E-Tablo'da yeni satırın belirdiğini görün.

6. Yayına alın

Derleme adımı yok — klasörün tamamını olduğu gibi yükleyin:

  • En kolay: app.netlify.com/drop sayfasına klasörü sürükleyip bırakın, saniyeler içinde adres alırsınız.
  • GitHub Pages: depoyu yükleyin, Settings → Pages → branch seçin.
  • Vercel / Cloudflare Pages: klasörü statik site olarak bağlayın.

Cevapları görmek

Hepsi E-Tablo'da, geldikleri sırayla. Toplam kişi sayısı için boş bir hücreye:

=TOPLA(C2:C)

Kişi sayısı sınırını değiştirmek

Şu an bir davetli en fazla 3 kişi bildirebiliyor. Sınır iki yerde duruyor ve ikisi de aynı olmalı:

  1. index.html içindeki #kisi alanının max değeri — sayfadaki sınır. Sayaç ve yazarak girilen değerler bu sayıya göre kısıtlanır.
  2. apps-script/Code.gs içindeki EN_COK_KISI — E-Tablo tarafındaki sınır. Sayfayı atlayıp doğrudan gönderilen isteklere karşı asıl koruma budur.

Code.gs'i değiştirdikten sonra yeni bir dağıtım yayımlamayı unutmayın (Dağıt → Dağıtımları yönet → düzenle → Sürüm: Yeni). Yoksa Apps Script eski sınırla çalışmaya devam eder.

Sorun giderme

Belirti Sebep
"Bağlantı kurulamadı" appsScriptUrl eksik/yanlış, ya da dağıtımda Erişebilenler: Herkes seçili değil
Satır düşmüyor Sayfa sekmesinin adı RSVP değil, veya SHEET_ID yanlış
Kod değişikliği etkisiz Yeni dağıtım oluşturulmamış (bkz. 4. adım notu)
Türkçe harfler bozuk Dosyaları UTF-8 olarak kaydedin

Notlar

  • Form gönderilirken düğme kilitlenir, aynı kayıt iki kez düşmez.
  • Sayfada görünmeyen bir tuzak alan var; botların doldurduğu istekler E-Tablo'ya yazılmadan sessizce elenir.
  • = ile başlayan isimler E-Tablo'da formül olarak çalıştırılmaz, düz metin olarak saklanır.
  • Hareketi azaltılmış cihazlarda animasyonlar kapanır, sayfa sabit görünür.

Releases

Packages

Contributors

Languages