Full-Stack Proje
Pulse — Blog & Mesajlaşma Ekosistemi
Katmanlı REST API mimarisi, WebSocket ile canlı iletişim ve Docker container yapısına sahip full-stack platform.
1. Genel Bakış & Problem Tanımı
Pulse, tekil frontend ve backend konseptlerinden birleşik bir full-stack mimariye geçiş amacıyla geliştirildi. Hedef; kullanıcı yönetimini, ilişkisel blog verilerini ve canlı iki yönlü mesajlaşmayı tek bir sistemde yönetmekti.
2. Sistem Mimarisi
Browser (Next.js App Router)
│── REST API Requests (Axios) ──► Express.js API ──► TypeORM ──► PostgreSQL
└── WebSockets (Socket.IO) ─────► Express.js Socket Server
3. Önemli Mühendislik Kazanımları
- Katmanlı backend mimarisi (Routes -> Controllers -> Services -> TypeORM entities).
- Socket.IO ile canlı olay yönetimi, oda bazlı mesajlaşma ve aktif kullanıcı takibi.
- Temel kimlik doğrulama akışları ve bcrypt ile şifre hash'leme.
4. Mevcut Sınırlar & Planlanan İyileştirmeler
- Kimlik doğrulama, JWT session token'ları olmadan ham şifre doğrulamasına dayanıyor (V2 için planlandı).
- Backend senkronizasyonu geliştirme ortamında TypeORM synchronize modunu kullanıyor (Migration sistemi planlandı).
- Kod içi API adreslerinin dinamik çevre değişkenlerine (environment variables) dönüştürülmesi.