4 min read

Proforma SaaS’i Sıfırdan Geliştirme Süreci

Proforma SaaS’i Sıfırdan Geliştirme Süreci

Bir Teklif ve Proforma Yönetim Platformunun Uçtan Uca Yolculuğu

Giriş

Teklif ve proforma süreçleri, birçok firmada hâlâ Word, Excel ve manuel e-posta zincirleri üzerinden yürütülüyor. Bu durum; versiyon karmaşası, tasarım tutarsızlığı, arşiv sorunları ve operasyonel verimsizlik doğuruyor.

Bu yazıda; Proforma SaaS adını verdiğim, çok kiracılı (multi-tenant) bir teklif–proforma yönetim platformunu fikrin doğuşundan canlıya alım sürecine kadar nasıl tasarladığımı ve geliştirdiğimi adım adım anlatıyorum.

1. Problemin Tanımlanması ve İhtiyaç Analizi

Projeye başlamadan önce netleştirdiğim temel problemler:

  • Tekliflerin manuel hazırlanması
  • Kurumsal tasarım standardının olmaması
  • Tekliflerin izlenememesi (kim, ne zaman, hangi versiyon)
  • Geçerlilik süresi ve revizyon kontrolünün yapılamaması
  • Firma bazlı ayrışmanın olmaması

Bu problemlerden yola çıkarak şu hedefleri belirledim:

  • Tekliflerin dijital ortamda standartlaştırılması
  • Firma bazlı izole veri yapısı
  • Tema bazlı, kurumsal sunum
  • Ölçeklenebilir ve entegrasyona açık mimari

Ürün Ekleme Listeleme Sayfası

2. Ürün Kapsamının Belirlenmesi (Scope)

İlk faz için ürün kapsamını bilinçli olarak sınırlı tuttum:

Kapsama alınanlar

  • Satış teklifi
  • Tedarik teklifi
  • Tema seçimi
  • Teklif önizleme
  • Firma ve kullanıcı yönetimi
  • Kullanıcı izin yönetimi

İleri faza bırakılanlar

  • E-imza
  • PDF servisleri
  • E-fatura entegrasyonu
  • ERP bağlantıları

Bu yaklaşım, ürünü hızlıca ayağa kaldırmamı sağladı.


3. Mimari Tasarım ve Teknoloji Seçimi

Backend

  • Django
  • Class-Based Views
  • Service Layer yaklaşımı
  • Modüler uygulama yapısı

Frontend

  • Django Template Engine
  • Bootstrap 5
  • Component bazlı yapı

Veritabanı

  • Geliştirme: SQLite
  • Prodüksiyon: PostgreSQL

Sunucu

  • Ubuntu
  • Nginx
  • UWSGI
  • AWS EC2
  • AWS Route53

Bu teknoloji seti; hızlı geliştirme, güvenlik ve bakım kolaylığı sağladı.


4. Çok Kiracılı (Multi-Tenant) Yapının Kurulması

Sistemin temel taşı Company (Firma) modelidir.

Tüm kritik tablolar firma ile ilişkilidir:

  • Users
  • Offers
  • Notifications
  • Themes

Bu sayede:

  • Firmalar birbirinin verisini göremez
  • SaaS modeli doğal olarak desteklenir
  • Yetkilendirme sadeleşir

Teklif Oluşturma Ekranı

5. Teklif Modelinin Tasarlanması

Teklif yapısını modüler kurdum:

  • Offer (ana kayıt)
  • OfferItem (kalemler)
  • OfferType (satış / tedarik)
  • OfferTheme (tasarım)

Her teklif:

  • Benzersiz teklif numarası
  • Geçerlilik süresi
  • KDV dahil/hariç yapı
  • Dinamik kalemler içerir

Bu yapı, ileride fatura ve sipariş modüllerine dönüşebilecek esnekliği sağlar.

Tekliflerin Yönetim/ Görüntüleme Ekranı
Teklif Detayı

6. Tema ve Kurumsal Tasarım Altyapısı

Tekliflerin profesyonel algısı için tema sistemini kritik gördüm.

  • Bootstrap tabanlı temalar
  • Primary renk odaklı kurumsal tasarım
  • Beyaz zemin, okunabilir tipografi
  • Aynı teklif, farklı temalarla sunulabilir

Bu yapı, müşteriye özel sunum imkânı verir.


7. Teklif Önizleme ve İçerik Yönetimi

Teklif önizleme ekranı:

  • Gerçek baskı düzenine yakın
  • Hizmet şartları alanı
  • Müşteri tarafından doldurulacak alanlar
  • Kapanış metni (teşekkür, saygılarımızla vb.)

Bu alanların tamamı dinamik ve yönetilebilir şekilde tasarlandı.


8. Bildirim ve Sistem Olayları

Sistemde gerçekleşen önemli aksiyonlar kayıt altına alınıyor:

  • Teklif oluşturma
  • Güncelleme
  • Entegrasyon olayları

Bildirim altyapısı ileride:

  • E-posta
  • Dashboard bildirimleri
  • Push notification

için hazır durumda.


Kullanıcı Yetki Kontrol Ekranı

9. Güvenlik ve Yetkilendirme

Dikkat edilen başlıca noktalar:

  • Firma bazlı erişim kontrolü
  • Teklif URL’lerinde yetki doğrulaması
  • Django CSRF korumaları
  • Yetkisiz erişimlerin engellenmesi

SaaS projelerde güvenlik, özellikten önce gelir.


10. Canlıya Alım (Deployment)

  • Nginx reverse proxy
  • UWSGuygulama sunucusu
  • Ortam değişkenleriyle yapılandırma
  • Log ve hata takibi

Bu aşamada hedef:
Stabil, sürdürülebilir ve izlenebilir bir sistem oluşturmaktı.


11. Kazanımlar ve Öğrenimler

Bu proje sayesinde:

  • SaaS mimarisi pratiği
  • Multi-tenant veri tasarımı
  • Ürün odaklı geliştirme yaklaşımı
  • Gerçek iş problemlerine çözüm üretme

konularında ciddi deneyim kazandım.


12. Sonuç

Proforma SaaS; teklif ve proforma süreçlerini dijitalleştiren, kurumsal sunumu standartlaştıran ve ölçeklenebilir şekilde tasarlanan bir platformdur.

Bu proje, sadece bir yazılım değil; ürün düşüncesiyle inşa edilmiş bir SaaS deneyimidir.


Kapanış

Bu yazıyı;

  • benzer bir SaaS geliştirmek isteyenler,
  • Django ile ürün geliştirenler,
  • teklif/proforma süreçlerini dijitalleştirmek isteyen firmalar

için yol gösterici bir referans olarak paylaşıyorum.