Hippotenus
Eğitim kurumları platformu
NestJS ve Prisma ile PostgreSQL; mesajlaşma ve bildirimler Socket.IO ile, haftalık raporlar ve takvim eşitleme Redis kuyruklarında, ödemeler iyzico ile.
Ürünü inceleHepsi yayında; mağaza sayfalarına ve ayrıntılara Ürünler sayfasından ulaşabilirsiniz.
Eğitim kurumları platformu
NestJS ve Prisma ile PostgreSQL; mesajlaşma ve bildirimler Socket.IO ile, haftalık raporlar ve takvim eşitleme Redis kuyruklarında, ödemeler iyzico ile.
Ürünü inceleYapay zekâ video uygulaması
AWS Lambda üzerinde TypeScript fonksiyonlar ve MongoDB; bildirim ve e-posta gönderimi, hata kuyruğu olan SQS kuyruklarıyla.
Ürünü inceleYapay zekâ bütçe koçu
AWS Lambda üzerinde TypeScript fonksiyonlar ve MongoDB; banka hesabı bağlantısı ve OpenAI ile çalışan bütçe asistanı bu sunucuda.
Ürünü inceleKampüs soru-cevap ve topluluk uygulaması
Firebase Cloud Functions üzerinde Express; dosyalar Cloudflare R2’ye süreli imzalı bağlantılarla gidiyor.
Ürünü inceleNode.js, JavaScript ve TypeScript’i sunucuda çalıştırır. Gücü, aynı anda çok sayıda bağlantıyı bekletmeden yönetmesinden gelir: veritabanı sorgusu, ödeme sağlayıcısı ya da e-posta servisi yanıt verirken diğer istekleri işlemeye devam eder. Bu yüzden API’ler, anlık mesajlaşma ve başka sistemlerle konuşan entegrasyon servisleri için doğal bir seçimdir. Web ve mobil tarafı da TypeScript ile yazdığımız için sunucu, istemcilerle aynı dili konuşur.
Node.js’i iki biçimde kullanıyoruz. Hippotenus gibi çok modüllü, sürekli çalışan ve gerçek zamanlı bağlantı tutan bir platformda NestJS ile tek bir API yazıyoruz. Rigel ve LydiaVault’ta ise her uç nokta AWS Lambda üzerinde ayrı bir fonksiyon; altyapı AWS SAM şablonuyla kod olarak tanımlı. SoruVerse’te mobil uygulamanın ihtiyaç duyduğu birkaç sunucu işi Firebase Cloud Functions üzerinde küçük bir Express uygulaması olarak duruyor.
| NestJS API | AWS Lambda (SAM) | Firebase Cloud Functions | |
|---|---|---|---|
| Çalışma biçimi | Sürekli çalışan tek sunucu | İstek gelince çalışan fonksiyonlar | Firebase olaylarına ve isteklere bağlı fonksiyonlar |
| Gerçek zamanlı bağlantı | Socket.IO ile doğrudan | Kuyruk ve zamanlayıcıyla | Firestore tetikleyicileriyle |
| Uygun olduğu yer | Çok modüllü platformlar, panel ve mobil için ortak API | Mobil uygulama arka uçları, dalgalı trafik | Firebase kullanan uygulamalara eklenen sunucu işleri |
| Bizim örneğimiz | Hippotenus | Rigel, LydiaVault | SoruVerse |
Hippotenus’un sunucusu öğrenci takibinden ödemelere kadar birçok işi yürüten bir NestJS uygulaması. Bir eğitim platformunda işin çoğu isteğin dışında olur; bu yüzden arka plan işlerine ve canlı bağlantılara ayrı özen gösterdik:
Bir müşteri projesinde de benzer bir yapı kurduk: NestJS ve MongoDB ile yazılan bir öğrenim yönetim sisteminde canlı quiz’ler ve proje panoları tek bir Socket.IO sunucusunun ayrı kanallarında çalışıyor, bildirimler tarayıcıya web push ile gidiyor.
Modül, bağımlılık enjeksiyonu, yetki kontrolü ve doğrulama hazır gelir. Hippotenus API’sini ve bir müşteri projesinin sunucusunu NestJS ile yazdık.
Tip güvenli veritabanı erişimi ve şema değişiklikleri için migration. Hippotenus’ta PostgreSQL ile kullanıyoruz.
Anlık mesajlaşma, canlı bildirim ve ortak ekranlar için. Hippotenus’ta ve bir müşteri projesinde kullanıyoruz.
E-posta, takvim eşitleme ve bildirim gibi işleri kuyrukta, isteğin dışında çalıştırmak için. Hippotenus’ta kullanıyoruz.
Sunucusuz fonksiyonlar, SQS kuyrukları ve zamanlanmış görevler, hepsi bir şablonda tanımlı. Rigel ve LydiaVault’ta kullanıyoruz.
API’nin her uç noktası belgelenir ve tarayıcıdan denenebilir. Hippotenus API’sinde kullanıyoruz.
Sunucunun hangi uygulamalara hizmet edeceğini, hangi sistemlerle konuşacağını ve aklınızdaki bütçeyi konuşuyoruz.
Veri modelini, uç noktaları, entegrasyonları ve NestJS ile sunucusuz yapı arasındaki tercihi yazıya döküyoruz.
Her hafta çalışan bir sürüm teslim ediyoruz; uç noktaları API belgesi üzerinden kendiniz deneyebiliyorsunuz.
Senior QA sürümü yayından önce test ediyor; ardından sunucuyu canlı ortama alıyoruz.
Bu sürede ortaya çıkan hataları ücretsiz gideriyoruz; sonrasında aylık bakımla devam edebilirsiniz.
Süre ve bütçe aralıkları web uygulaması geliştirme ve fiyatlar sayfalarımızda yayında; bu sayfa da aynı rakamlara dayanıyor.
NestJS zaten Express’in üzerinde çalışır; üstüne modül yapısı, yetki kontrolü, girdi doğrulama ve API belgesi ekler. Çok modüllü bir platformda bu düzen kodu okunur tutar. Birkaç uç noktadan oluşan küçük bir servis için, SoruVerse’teki gibi yalın Express yeterli.
Bekleme ağırlıklı işlerde, yani veritabanı ve dış servis çağrılarında çok verimlidir. Uzun süren ya da kullanıcıyı bekletecek işleri isteğin içinde yapmıyoruz: Hippotenus’ta bunlar Redis kuyruğuna, Rigel’de bildirim ve e-posta gönderimi SQS’e gidiyor. Belge ve veri işleme ağırlıklı projelerde Python’u tercih ediyoruz.
Evet. Hippotenus API’sinde olduğu gibi her uç nokta OpenAPI ile belgelenir ve tarayıcıdan denenebilir; başka bir ekibin ya da sistemin bağlanması için bu belge yeterlidir.
Yazılım için süresiz kullanım lisansı ve dokümantasyon. Kaynak kodun size devrini isterseniz, ek ücreti teklifte ayrıca belirtilir.
30 dakikalık ücretsiz keşif görüşmesinde sunucunun kapsamını ve NestJS ile sunucusuz yapı arasındaki tercihi birlikte netleştirelim.