Events
Akademi Eğitim Platformu Events Dökümanı
Etkinlik Takvimi Tasarımı (Ayrı Modül Olarak)
1. Genel Mimari
- Bağımsızlık: Akademi tenant'ları ile karıştırmamak için ayrı bir "Events" servisi/microservice olarak kur. Backend'de Node.js (real-time için ideal) veya Python (Flask/FastAPI) ile yönet. Verileri MariaDB'de ayrı bir schema'da tut (e.g.,
events_db), arama/indeksleme için OpenSearch'e entegre et. - Erişim Modelleri:
- Global etkinlikler (tüm kullanıcılar görür).
- Özel etkinlikler (kurumsal: sadece firma içi; freelancer: kendi takipçilerine açık).
- Hibrit: Public RSVP + private invite.
- UI Yerleşimi: Ana dashboard'da ayrı bir tab/seksiyon (e.g., "Etkinlikler" menüsü). Bootstrap ile basit bir calendar component (FullCalendar.js entegrasyonu öneririm — custom JS framework'üne kolay uyar).
2. Etkinlik Oluşturma & Yönetimi
- Adım Adım Sihirbaz (akademi sihirbazına benzer, ama daha hafif):
- Temel Bilgiler: Etkinlik adı, açıklama, tarih/saat (UTC + timezone desteği, Istanbul default), konum (online/offline/hybrid — Zoom/Meet linki ekle).
- Tür Seçimi: Webinar, workshop, meetup, sertifikalı eğitim (ama akademi kursu değil, ayrı tut).
- AI Yardımı: Fine-tune modelinle otomatik öneri — "Bu etkinlik satış eğitimi mi? Önerilen süre: 2 saat, hedef kitle: 50 kişi" veya "Açıklama metnini üret" (JSON response ile).
- RAG entegrasyonu: Kullanıcının workspace dosyalarından içerik çek (e.g., "Bu belgeyi baz alarak etkinlik outline'ı üret").
- Katılımcı Ayarları: Kapasite sınırı, ücretli/ücretsiz (Stripe entegrasyonu), RSVP formu (e-posta/magiclink ile kayıt).
- Yayınlama: "Yayınla" butonu → otomatik hatırlatma e-postaları + iCal/Outlook export.
- AI Ekstra: Modelinle "etkinlik afişi metni" veya "sosyal medya paylaşım metni" üret (JSON output ile).
3. Takvim Görünümü & Kullanıcı Deneyimi
- Görsel Takvim:
- FullCalendar.js (open-source, Bootstrap uyumlu) ile aylık/haftalık/günlük view.
- Filtreler: Tarih aralığı, tür, konum, benim etkinliklerim (katıldıklarım/oluşturduklarım).
- Arama: OpenSearch ile hızlı arama (etkinlik adı, konuşmacı, etiket).
- Mobil Uyumlu: Bootstrap zaten responsive, ama etkinlik detay sayfasına push notification (Node.js + FCM/WebPush) ekle.
- Real-time Özellikler: Node.js ile Socket.io entegrasyonu — "Canlı etkinlik başladı" bildirimi, kalan kontenjan güncellemesi.
4. Etkinlik Detay Sayfası
- Özelleştirilebilir Sayfa:
- Hero: Afiş görseli (AI ile üret? e.g., "Bu etkinlik için afiş öner" — ama external API gibi Groq/Image gen kullanabilirsin).
- Açıklama: Markdown editor ile zengin metin (video embed, agenda).
- Konuşmacılar: Profil kartları (X entegrasyonu? @apexepa gibi handle'ları çekip bio göster — ama basit tut).
- Kayıt Butonu: Passkey/magiclink ile hızlı login + RSVP.
- Yorum/Altyazı: Post-etkinlik feedback formu.
- SEO & Paylaşım: Meta tags, OpenGraph (sosyal medya için), share linki (QR code dahil).
- Analitik: GA4 entegrasyonu — kayıt oranı, katılım, bounce. OpenSearch ile dahili rapor: En popüler etkinlikler, no-show oranı.
5. Entegrasyonlar & Güvenlik
- Entegrasyonlar:
- Video: Zoom/Meet API ile otomatik oda oluşturma + katılım track.
- Ödeme: Stripe (freelancer'lar için ücretli etkinlik satışı).
- Bildirim: E-posta (SendGrid), push (FCM), webhook (etkinlik tamamlandı → HR sistemine push).
- Calendar Sync: iCal feed (Google Calendar/Outlook add).
- AI: Tenant bazlı değil global olsun (ama kurumsal etkinliklerde şirket verisiyle RAG limitli).
- Güvenlik:
- Veri izolasyonu: Kurumsal etkinlikler sadece o organizasyonun üyeleri görsün (RBAC benzeri).
- GDPR/KVKK: Kayıt verileri için consent + export/delete.
- Audit log: Kim etkinlik oluşturdu/değiştirdi (MariaDB trigger ile).
- Rate limiting: Kayıt spam'i önleme (Node.js middleware).
6. Yönetim & Raporlama
- Admin Dashboard:
- Etkinlik listesi (arama/sıralama), onay akışı (kurumsal için HR onayı).
- Raporlar: Katılım istatistikleri, gelir (ücretli etkinlikler), feedback özeti.
- AI Analiz: "Bu etkinliklerin katılımını analiz et, düşük olanlara öneri ver" (modelinle JSON output).
- Versiyonlama: Basit tut, etkinlik düzenlemeleri için history log (MariaDB'de revisions tablosu).
7. Roadmap & Önceliklendirme
- MVP (İlk 1-2 Ay):
- Etkinlik oluşturma sihirbazı + temel takvim view.
- Kayıt/RSVP + e-posta bildirimi.
- AI öneri (outline/metin üretimi).
- Analitik temel (kayıt sayısı).
- Phase 2: Real-time + ödeme entegrasyonu (freelancer'lar için).
- Phase 3: AI tutor benzeri "etkinlik asistanı" (soru-cevap chatbot) + video entegrasyonu.
- Potansiyel Maliyet: FullCalendar ücretsiz, Stripe %2.9 ücret, Zoom API free tier yeterli.
Bu tasarım akademi ile entegre olmadan bağımsız çalışır, ama ileride "Akademi kursunu etkinlik olarak duyur" gibi bir bridge ekleyebiliriz (opsiyonel API hook ile).
Sorularım / Devam Önerisi
- Etkinlik türlerini (webinar, meetup vs.) nasıl sınırlayalım, veya açık mı bırakalım?
- Freelancer'lar için ödeme entegrasyonu öncelikli mi (Stripe hazır mı)?
- AI tarafında, etkinlik için özel bir prompt zinciri mi istiyorsun (örnek vereyim)?
- Teknik: FullCalendar.js'i custom JS framework'üne entegre etmek kolay mı, yoksa başka bir library mi tercih edersin (e.g., Day.js + custom grid)?