İçeriğe geç

Projects · Platform

EventFlow

Mekân, oturma, envanter, CRM, operasyon ve finans; her birinin kendi servisi ve veritabanı.

Sahnede tek bir ışık yanan boş bir konser salonu

EventFlow, birden fazla masası olan bir etkinlik şirketinin arka ofisidir. İstemci on porta konuşmaz. Bir ağ geçidine konuşur. Bunun ardında kimlik, mekân, envanter, CRM, operasyon, oturma, finans, bildirim, entegrasyon ve dosya ayrı Express servisleridir, her birinin kendi Postgres veritabanı vardır.

Çözümler

  • Tek ağ geçidi, on alan

    Çağrılar /api/auth, /api/venues, /api/inventory, /api/crm, /api/operations, /api/seating, /api/finance, /api/notifications, /api/integrations ve /api/files adreslerine gider. Ağ geçidi onları yönlendirir. Bir oturma değişikliği finans servisini yayına almaz.

  • Tek bir yönetim değil, üç panel

    Yönetim arayüzü, müşteri portalı ve tedarikçi portalı ayrı ön yüzlerdir. Personel, bilet alanlar ve satıcılar bir gezintiyi paylaşmaz.

  • Servis başına bir veritabanı

    Envanter oturmayla gelişigüzel birleşemez. İki alanın birbirinden haberi olması gerekiyorsa bu ortak bir tabloyla değil, hat üzerinden olur.

Süreç

  1. 01

    Kenarda giriş

    Tarayıcı yönetime, müşteri portalına ya da tedarikçi portalına gelir. Bu uygulamalar /api’yi ağ geçidine vekil eder. JWT_SECRET, geliştirme süreçleri başlamadan önce zorunludur.

  2. 02

    Ağ geçidi bir servis seçer

    Yol öneki Auth, Venue, Inventory, CRM, Operations, Seating, Finance, Notification, Integration ya da File seçer. Her biri geliştirmede kendi portunu dinler.

  3. 03

    Durum o serviste kalır

    Postgres servis başınadır. Redis, RabbitMQ ve MinIO ortak altyapıdır: önbellek, mesajlar ve dosyalar. Bir dosya yüklemesi oturma veritabanına inmez.

  4. 04

    Tek bir alanı çıkar

    Turbo bir alt kümeyi çalıştırabilir, örneğin diğer sekiz servisi açmadan ağ geçidini, kimliği ve yönetimi.

Teknoloji

  • Servisler ve panellerden bir Turborepo

    Node 22. Vite üzerinde React paneller. Express servisler. Yönetim /api’yi 8080 portuna vekil eder. Müşteri portalı ve tedarikçi portalı yanında durur.

  • Yalnızca altyapı için Docker

    Compose Postgres, Redis, RabbitMQ ve MinIO’yu ayağa kaldırır. Postgres, 5432’deki yerel kurulumla çarpışmasın diye 5434’te yayımlanır. Bir üretim compose dosyası isteğe bağlı bir Nginx profili ekler.

  • Bölünmenin ürün olmasının nedeni

    Bir etkinlik şirketinin zaten bir mekân masası, bir oturma masası ve bir finans masası vardır. Yazılım bu sınırı tek bir şemanın ve tek bir yayının içine gizlemek yerine onu izler.

  • React
  • Vite
  • Express
  • PostgreSQL
  • Redis
  • RabbitMQ
  • MinIO
  • Turbo