Backend / Gerçek zamanlı
Gerçek Zamanlı Mesajlaşma Platformu
FastAPI, WebSocket ve PostgreSQL ile geliştirilmiş gerçek zamanlı bir mesajlaşma backend'i.
- Python 3.13
- FastAPI
- WebSocket
- PostgreSQL
- SQLAlchemy
- Alembic
- JWT
- Docker
- Nginx
- Sentry
- pytest
- pytest-asyncio
Mimari özet
// güvenilir sınırlar
Mesajlaşma İstemcileri
Nginx
FastAPI + WebSocket
PostgreSQL
Sentry
Genel bakış
Bu mesajlaşma backend'i canlı teslimat için FastAPI ve WebSocket kullanıyor; kaynak gerçek PostgreSQL. Kimlik doğrulama JWT tabanlı; arkadaş, engelleme, yazıyor, okundu ve çevrimiçi durumu akışları Alembic migrasyonlarıyla asenkron bir veri katmanının üzerinde duruyor.
Teknoloji yığını
- Python 3.13
- FastAPI
- WebSocket
- PostgreSQL
- SQLAlchemy
- Alembic
- JWT
- Docker
- Nginx
- Sentry
- pytest
- pytest-asyncio
Teknik uygulama
- Gerçek zamanlı WebSocket mesajlaşma.
- Asenkron PostgreSQL veri katmanı.
- Alembic ile veritabanı migrasyonları.
- JWT kimlik doğrulama.
- Arkadaş / engelleme akışları.
- Mesaj silme.
- Yazıyor / okundu göstergeleri.
- Çevrimiçi / çevrimdışı durum takibi.
- Docker + Nginx dağıtım yapısı.
- Sentry ile hata izleme.
- Asenkron testler.
Temel mühendislik kararları
- Canlı olaylar için WebSocket kullanmak ve yeniden bağlanınca konuşma durumunun geri gelebilmesi için mesaj geçmişini PostgreSQL'de tutmak.
- Bağlantı yönetiminin FastAPI'nin asenkron çalışma zamanıyla uyumlu kalması için veri katmanını asenkron SQLAlchemy ile kurmak.
- Çevrimiçi durumu, yazıyor ve okundu bilgilerini yalnızca mesaj trafiğinden çıkarmak yerine birinci sınıf olaylar olarak izlemek.
- TLS ve reverse proxy kaygılarının Python sürecinin dışında kalması için konteynerize uygulamanın önüne Nginx koymak.
- Çalışma zamanı hatalarını Sentry'ye göndermek ve asenkron yolları pytest-asyncio ile örtmek.