Update plans and fix layout issues
This commit is contained in:
63
PLANLAMA.md
Normal file
63
PLANLAMA.md
Normal file
@@ -0,0 +1,63 @@
|
|||||||
|
# Gelecek Planları ve Entegrasyonlar
|
||||||
|
|
||||||
|
Bu dosya, projenin temel aşaması tamamlandıktan sonra eklenecek olan özellikleri takip etmek için oluşturulmuştur.
|
||||||
|
|
||||||
|
## 1. Google Takvim (Google Calendar) Entegrasyonu
|
||||||
|
**Amaç:** Rezervasyonların otomatik olarak işletme takvimine işlenmesi.
|
||||||
|
|
||||||
|
**Teknik Gereksinimler:**
|
||||||
|
- Google Cloud Platform projesi ve Service Account oluşturulması.
|
||||||
|
- `googleapis` kütüphanesinin projeye eklenmesi.
|
||||||
|
- Veritabanı `reservations` tablosuna `google_calendar_event_id` sütununun eklenmesi.
|
||||||
|
|
||||||
|
**İş Akışı:**
|
||||||
|
- Yeni rezervasyon oluşturulduğunda -> Google Takvim'e etkinlik ekle.
|
||||||
|
- Rezervasyon güncellendiğinde/iptal edildiğinde -> Google Takvim'deki etkinliği güncelle/sil.
|
||||||
|
|
||||||
|
## 2. Bildirim Sistemi (SMS ve E-Posta)
|
||||||
|
**Amaç:** Rezervasyon durumu, ödeme onayı ve hatırlatmalar için müşterileri otomatik bilgilendirmek.
|
||||||
|
|
||||||
|
### A. E-Posta (Mail)
|
||||||
|
- **Servis:** Resend, SendGrid veya AWS SES.
|
||||||
|
- **Kullanım Alanları:**
|
||||||
|
- Rezervasyon oluşturulduğunda bilgilendirme maili.
|
||||||
|
- Ödeme alındı makbuzu.
|
||||||
|
- İptal bilgilendirmesi.
|
||||||
|
- **Gereksinim:** HTML mail şablon tasarımı (`react-email` kullanılabilir).
|
||||||
|
|
||||||
|
### B. SMS
|
||||||
|
- **Servis:** Yerel SMS sağlayıcıları (Netgsm, İleti Merkezi vb.) veya Twilio.
|
||||||
|
- **Kullanım Alanları:**
|
||||||
|
- Anlık durum bildirimleri (Örn: "Sayın X, Y tarihli rezervasyonunuz onaylanmıştır.").
|
||||||
|
- Ödeme hatırlatmaları.
|
||||||
|
- **Gereksinim:** Admin panelinde SMS API ayarları ve Başlık (Sender ID) yapılandırma ekranı.
|
||||||
|
|
||||||
|
## 3. Raporlama ve Excel Çıktısı (Export)
|
||||||
|
**Amaç:** Aylık veya belirli tarih aralıklarındaki rezervasyon listesini dışa aktarabilmek.
|
||||||
|
|
||||||
|
**İçerik:**
|
||||||
|
- Düğün Tarihi
|
||||||
|
- Müşteri Adı Soyadı
|
||||||
|
- Adres ve Yöre Bilgileri
|
||||||
|
- Telefon Bilgisi
|
||||||
|
- Rezervasyon Durumu
|
||||||
|
- Google Takvim Bildirim Durumu
|
||||||
|
- (Gelecekte belirlenebilecek diğer alanlar)
|
||||||
|
|
||||||
|
**Teknik Yöntem:** `xlsx` veya benzeri bir JS kütüphanesi ile client-side veya server-side Excel dosyası oluşturma.
|
||||||
|
|
||||||
|
## 4. Sözleşme Oluşturma ve Yazdırma
|
||||||
|
**Amaç:** Rezervasyon anında veya sonrasında, belirlenen tasarıma uygun resmi sözleşme çıktısı alabilmek.
|
||||||
|
|
||||||
|
**İş Akışı:**
|
||||||
|
- Rezervasyon oluşturulduğunda otomatik taslak oluştur.
|
||||||
|
- Rezervasyon detay sayfasında "Sözleşme Yazdır" butonu.
|
||||||
|
- Tarayıcı yazdırma özelliği (Print CSS) veya PDF oluşturma (`react-pdf` veya `jspdf`).
|
||||||
|
|
||||||
|
## 5. Islak İmzalı Belge Yönetimi
|
||||||
|
**Amaç:** İmzalanan fiziksel sözleşmelerin taranıp sisteme yüklenmesi ve dijital arşiv oluşturulması.
|
||||||
|
|
||||||
|
**İş Akışı:**
|
||||||
|
- Rezervasyon detay sayfasına "Dosya Yükle" alanı.
|
||||||
|
- Yüklenen dosyaların Supabase Storage'da saklanması.
|
||||||
|
- İlgili rezervasyona ait belgelerin listelenmesi, görüntülenmesi ve silinebilmesi.
|
||||||
@@ -20,6 +20,10 @@ export const metadata: Metadata = {
|
|||||||
|
|
||||||
export const viewport: Viewport = {
|
export const viewport: Viewport = {
|
||||||
themeColor: "#7920df",
|
themeColor: "#7920df",
|
||||||
|
width: "device-width",
|
||||||
|
initialScale: 1,
|
||||||
|
maximumScale: 1,
|
||||||
|
userScalable: false, // Genellikle mobil uygulama hissi için tercih edilir, opsiyonel
|
||||||
};
|
};
|
||||||
|
|
||||||
export default function RootLayout({
|
export default function RootLayout({
|
||||||
@@ -30,6 +34,7 @@ export default function RootLayout({
|
|||||||
return (
|
return (
|
||||||
<html lang="en">
|
<html lang="en">
|
||||||
<body
|
<body
|
||||||
|
suppressHydrationWarning
|
||||||
className={`${geistSans.variable} ${geistMono.variable} antialiased`}
|
className={`${geistSans.variable} ${geistMono.variable} antialiased`}
|
||||||
>
|
>
|
||||||
{children}
|
{children}
|
||||||
|
|||||||
Reference in New Issue
Block a user