Projenin Amacı

Küçük veya orta ölçekli portföy işletmelerinin en büyük zorluklarından biri olan "günlük performansın ve komisyonların hatasız, tutarlı bir şekilde hesaplanması" ihtiyacını çözmek amacıyla bu sistemi tasarladım. Uygulamanın temelinde; veri bütünlüğünü garanti altına alan, rol tabanlı erişim sunan ve finansal işlemleri (yatırım, çekim, hesap kesimi) geriye dönük tutarlılıkla işleyebilen yeniden hesaplanabilir bir finansal motor yatıyor.

Mimari ve Altyapı Çözümleri

Bir BT uzmanı ve geliştirici olarak, uygulamanın sadece kod tarafına değil, altyapı ve dağıtım süreçlerine de odaklandım:

  • API ve Sunucu: Express.js üzerinde yapılandırdığım JSON tabanlı REST API, JWT (Bearer) ile yetkilendiriliyor. Üretim ortamı için CORS, Helmet ve rate-limit yapılandırmalarıyla güvenliği sıkılaştırılmış bir temel kurdum.

  • Veritabanı Katmanı: PostgreSQL tercih ettim ve veritabanı şeması, migrasyon işlemleri ile tip güvenliği için Prisma ORM kullandım.

  • İş Mantığı ve Finansal Motor: Kayan nokta (floating point) hatalarını önlemek için decimal.js kütüphanesini entegre ettim. Günlük sermaye büyümesi ve komisyon kesintileri, ana para hareketleriyle tetiklenen bağımsız bir hesaplama motoru tarafından yönetiliyor.

  • İstemci (Frontend): Herhangi bir derleme zincirine ihtiyaç duymadan, doğrudan ES modülleri ve Vanilla JavaScript kullanarak hash-router tabanlı bir Single Page Application (SPA) arayüzü geliştirdim.

  • Dağıtım (Deployment): Uygulamayı Docker Compose ile veritabanı ve API konteynerleri birbirinden izole olacak şekilde yapılandırdım. Bu sayede herhangi bir sanal sunucuya (VDS) hızlıca ve sorunsuz bir şekilde deploy edilebiliyor. Alternatif olarak Vercel üzerinden sunucusuz (serverless) fonksiyonlarla da çalışabilecek esneklikte tasarlandı.

Öne Çıkan Özellikler

  • Rol Tabanlı Erişim Kontrolü (RBAC): Yönetici (Admin) ve Yatırımcı rolleri kesin çizgilerle ayrıldı. Middleware seviyesinde kapsam (scope) kontrolleriyle güvenli veri izolasyonu sağlandı.

  • Dinamik Yeniden Hesaplama: Günlük portföy yüzdesi girildiğinde, ilgili günden itibaren tüm yatırımcıların sermaye geçmişi otomatik olarak güncellenir.

  • Tutarlı Dönem Yönetimi: Aylık hesap kesimi kesinleştiğinde, o dönemle çakışan geçmişe dönük ana para hareketleri sistem politikası gereği engellenerek finansal tutarlılık korunur.

  • Detaylı Raporlama: Chart.js entegrasyonu ile portföy serisi ve yatırımcı büyümesi görselleştirildi. Haftalık, aylık ve yıllık performans özetleri yatırımcı paneline yansıtıldı.

  • Zaman Çizelgesi (Timeline): Sistemdeki tüm işlemlerin geçmişe dönük izlenebildiği filtrelenebilir log kayıtları.

Proje Sonucu ve Kazanımlar

Bu proje, karmaşık finansal iş mantıklarını modern web teknolojileriyle çözmenin ötesinde, uçtan uca güvenilir bir sistem mimarisi kurgulama yeteneğimi sergilediğim kapsamlı bir çalışma oldu. Uygulamanın kodlanmasından veri güvenliğinin sağlanmasına, Docker ile konteynerize edilmesi ve sunucu altyapısına dağıtıma (deployment) hazır hale getirilmesine kadar olan tüm süreçleri tek elden yönetmek; yazılım geliştirme pratiklerimi sağlam bir altyapı yönetimi vizyonuyla birleştirmemi sağladı.

Sonuç olarak; donanım ve işletim sistemi bağımsız olarak hızlıca ayağa kaldırılabilen, hata toleransı düşük finansal verileri güvenle işleyen ve hem yatırımcılar hem de yöneticiler için kesintisiz bir deneyim sunan, tam teşekküllü bir portföy yönetim sistemi ortaya çıkmış oldu. Ölçeklenebilir ve izole mimarisi sayesinde, gelecekteki modül eklemelerine ve artan kullanıcı trafiğine şimdiden hazırdır.