[PROJE]
ETL Web Uygulaması
1.2.1
Uzak sunucudan düzenli aralıklarla veri alan, istenen formata dönüştüren ve başka bir sunucuya yükleyen uygulama.
[YIL]
2024
[TÜR]
Freelance Projeleri
[DURUM]
Tamamlandı
Özet
Uygulama kısaca iki farklı sunucu arasında farklı periyotlarda gerçekleşen veri akışını sağlıyor. Sunucu, veri akışında oluşabilecek aksaklıkları yönetebilecek çeşitli önlem ve yeteneklere sahip. Uygulama farklı cihazların takip için eklenebilmesi ve mevcut cihazların gözlemlenebilmesi için bir arayüz de sunuyor.
Uygulama, birbirinden bağımsız kendi kimlik doğrulama (authentication) mekanizmaları olan kaynak ve hedef sunuculara bağlı. İki sunucuya da farklı periyotlarla giriş yapılarak authentication sürekliliği sağlanıyor. Verilerin yüklenme ve alınma periyotları farklı olduğu için veriler 5 dakikada bir kaynak sunucudan alınarak bir saat boyunca tutuluyor.

Bir saatin sonunda toplanan veriler, ortalamaları alınarak hedef sunucuya gönderiliyor. Gönderimde herhangi bir sorun çıkması durumunda ise işlem tekrar deneniyor. Gün sonunda hedef sunucudan eksik verilerin zaman aralığı talep ediliyor. Bu zaman aralıkları arasındaki veriler kaynak sunucudan alınarak hedef sunucuya gönderiliyor. Bu sayede tüm veriler gün içerisinde eksiksiz şekilde iletilmiş oluyor.
Geçmiş verilerin senkronize edilmesi işlemi aynı zamanda arayüz üzerinden de tetiklenebiliyor. Tüm bu işlemler her cihaz için ayrı olarak yapılmakta. Bu yüzden senkronizasyon işlemi özellikle günlerce süren sorunlarda gönderilmesi gereken veriler biriktiği için uzun sürebiliyor.
Hedef sunucu dokümantasyonundaki eksiklikler ve süreç içindeki kısıtlamalara rağmen, esnek bir mimari kurarak tüm senaryoları başarıyla yönetebilen stabil bir yapı ortaya çıkarıldı.
Teknolojiler
typescript
express
react
shadcn-ui
tailwindcss
vite
vitest
supertest
nock
esbuild
pm2
nginx
ubuntu
linux
Özellikler
backend
frontend
auth
testing
cron-jobs
extract-transform-load
data-transformation
ui
deployment
Öne Çıkan Projeler
Mezuniyet Projesi
Arduino düğümleri arasında sensör verilerini iletmek için Görünür Işık İletişimi kullanan, gerçek zamanlı izleme için React tabanlı web paneli olan bir sera izleme ve kontrol sistemi.
Projeyi Gör >>krustie
TCP katmanından başlanarak, Rust ile yazılmış, deneysel bir backend HTTP framework'ü. Özel parser'a, middleware pipeline'ına ve immutable request desteğine sahip.
Projeyi Gör >>mrcn.tr
Actix Web, Diesel.rs, PostgreSQL, Astro, React ve TailwindCSS ile geliştirilmiş kişisel full-stack web sitesi.
Projeyi Gör >>