first commit

This commit is contained in:
AyrisAI
2026-05-14 01:57:52 +03:00
parent 863a32cd35
commit 4a9196f483
47 changed files with 12043 additions and 102 deletions

6180
docs/openapi.yaml Normal file

File diff suppressed because it is too large Load Diff

62
docs/prd.md Normal file
View File

@@ -0,0 +1,62 @@
🚀 Ürün Gereksinim Dokümanı (PRD): AyrisMail Central
1. Ürün Özeti
AyrisMail Central, Mailcow APIsini kullanarak birden fazla domaini ve bu domainlere bağlı mail hesaplarını yönetmeye yarayan, Next.js tabanlı bir "Multi-Tenant" (Çoklu Kiracılı) yönetim panelidir. Kullanıcılar, teknik bilgiye ihtiyaç duymadan kendi domainleri altında mail hesabııp kapatabilirler.
2. Kullanıcı Rolleri ve Yetkiler
Süper Admin (Mustafa): * Tüm domainleri ekler/siler.
Domain Adminleri oluşturur.
Sunucu genel kotasını ve API anahtarlarını yönetir.
Domain Admin (Örn: Emina Hanım):
Sadece kendisine atanmış olan domaini (örn: aveminakarabudak.com) görür.
Yeni mail kutusu oluşturabilir, mevcut olanları silebilir.
Kullanıcıların şifrelerini sıfırlayabilir ve kotalarını güncelleyebilir.
3. Temel Özellikler (MVP)
A. Dashboard & Auth
Güvenli Giriş: NextAuth.js ile e-posta ve şifre tabanlı giriş sistemi.
Hızlı Özet: Aktif mail kutusu sayısı, kullanılan toplam disk alanı ve domain sağlık durumu (SPF/DKIM/MX) göstergeleri.
B. Domain Yönetimi (Süper Admin)
Domain Listesi: Tüm kayıtlı domainlerin tablosu.
Domain Atama: Hangi domainin hangi kullanıcı tarafından yönetileceğinin belirlenmesi.
C. Mail Hesabı Yönetimi (Domain Admin)
Hesap Oluşturma Formu: * local_part (isim), name (Ad Soyad), password ve quota (MB) girişleri.
Hesap Listeleme: Mevcut mail hesaplarının (örn: info@domain.com) tablo halinde gösterimi.
Hızlı İşlemler: Tek tıkla şifre güncelleme veya hesabı pasife alma.
4. Teknik Altyapı (Tech Stack)
Framework: Next.js 14+ (App Router)
Stil: Tailwind CSS + Shadcn/UI (Karanlık Mod desteği dahil)
State Management: TanStack Query (API verilerini anlık çekmek için)
API Entegrasyonu: Mailcow API (Server-side fetch işlemleri)
Veritabanı (Küçük bir DB): Kullanıcı rolleri ve domain atamalarını tutmak için (Supabase veya Prisma/Postgres).
5. UI/UX Tasarım Konsepti
Temiz Arayüz: Mailcowun binlerce ayarı yerine sadece "Mail Ekle", "Şifre Değiştir", "Sil" butonlarının olduğu minimalist bir tasarım.
White-Label: Giriş ekranında AyrisTech logosu, içeride ise ilgili domainin başlığı.
Mobil Uyum: Telefon üzerinden kolayca yeni mail açabilme yeteneği.
6. Başarı Kriterleri
Bir domain admininin sisteme girip yeni bir mail hesabı oluşturma süresinin 15 saniyenin altında olması.
Süper adminin sunucu terminaline veya ana Mailcow paneline girmeden tüm günlük işlerini Next.js üzerinden yapabilmesi.

49
docs/prd2.md Normal file
View File

@@ -0,0 +1,49 @@
📧 Ürün Gereksinim Dokümanı (PRD): AyrisMail Web Client Modülü
1. Ürün Özeti
AyrisMail Web Client, AyrisMail Central ekosisteminin içine entegre edilmiş, modern, hızlı ve minimalist bir e-posta okuma/yazma modülüdür. Kullanıcıların Mailcow sunucusu üzerindeki e-postalarına IMAP/SMTP protokolleri üzerinden tarayıcı tabanlı erişimini sağlar.
2. Kullanıcı Deneyimi (UX) Hedefleri
Gmail Tarzı Akış: Hızlı geçişler, klavye kısayolları ve temiz bir okuma alanı.
Zero-Refresh: Next.js ve TanStack Query kullanarak sayfa yenilenmeden mail okuma ve klasörler arası geçiş.
Responsive: Masaüstünde üç sütunlu (Klasörler - Liste - Detay), mobilde ise liste odaklı tasarım.
3. Temel Özellikler (MVP)
A. Gelen Kutusu ve Klasör Yönetimi
Liste Görünümü: Okunmamış maillerin kalın fontla vurgulandığı, gönderen adı, konu ve tarihin görüldüğü liste alanı.
Klasör Desteği: Gelen Kutusu (Inbox), Taslaklar (Drafts), Gönderilenler (Sent), Çöp Kutusu (Trash) ve Arşiv arasında geçiş.
Arama: Gönderen adına veya konu başlığına göre hızlı filtreleme.
B. Okuma ve Yanıtlama
Rich Text Okuma: HTML formatındaki maillerin güvenli bir şekilde (XSS korumalı) görüntülenmesi.
Ekleri Görüntüleme: Gelen eklerin (PDF, Görsel) tarayıcı içinde önizlenmesi veya indirilmesi.
Yanıtla/İlet: Mailleri yanıtlama veya başkasına iletme fonksiyonları.
C. Mail Yazma (Compose)
Zengin Metin Editörü: Bold, Italic, Liste gibi temel formatlama özelliklerine sahip editör.
Dosya Eki: Drag-and-drop (sürükle-bırak) yöntemiyle dosya ekleme.
4. Teknik Mimari ve Protokoller
IMAP Entegrasyonu: Sunucu tarafında imapflow kütüphanesi ile mail içeriklerinin çekilmesi.
SMTP Entegrasyonu: nodemailer ile güvenli mail gönderimi.
Frontend UI: shadcn/ui'ın Mail component şablonu (Bu şablon doğrudan Gmail arayüzünü referans alır).
Güvenlik: Kullanıcı şifreleri veritabanında saklanmaz; oturum bazlı (session) olarak IMAP bağlantısı için kullanılır.
5. Yol Haritası (Gelecek Özellikler)
Push Notifications: Yeni mail geldiğinde tarayıcı veya mobil bildirimi.
Otomatik İmza: Kullanıcı bazlı zengin metin imzalar.
Spam Yönetimi: Mailcow API ile entegre "Spam olarak işaretle" butonu.