BI raporları oluşturma ve görüntüleme uygulaması intervals.ru
Uygulama, sunum katmanı, iş mantığı ve veri erişimi katmanı olarak net bir şekilde ayrılmış monolitik çok katmanlı bir mimari üzerine inşa edilmiştir. Göreceli olarak küçük bir kod tabanı ve sabit gereksinimler göz önüne alındığında bu yaklaşım şunları sağlar:
Uygulamanın ön ucu Next.js, Mantine UI ve Zustand yığını kullanılarak geliştirilmiştir. Bileşenlerin çoğu istemci tarafında çalışsa da, Next.js’in sezgisel yönlendirme sistemi ve ortam değişkenlerini gizleme yetenekleri tercih nedenlerindendir. Mantine UI, arayüz geliştirmeyi hızlandırarak Canvas yerine SVG tabanlı hazır grafikler sunmuş ve veri görselleştirme gereksinimini karşılamıştır. Zustand ise hafif ve öngörülebilir durum yönetimi sağlar.
Uygulamanın arka ucu FastAPI, Redis ve PostgreSQL yığını üzerine kurulmuştur. FastAPI yüksek performanslı asenkron bir API sunarken, PostgreSQL güvenilir bir ilişkisel veri deposu olarak görev yapar ve Redis yalnızca hızlı bir önbellekleme katmanı olarak kullanılır. Mesaj aracılarının kullanılmaması, mimariyi basit ve maliyet etkin kılarken gerekli hız ve dayanıklılığı korur.
Yerel betik paketi, YML yapılandırmalarıyla raporların kolayca ayarlanmasını, zaman aralıklarına göre bölünmüş JSON dosyaları biçiminde veri depolama ve birikimini ve yeni raporların hızlı oluşturulmasını sağlar. Rapor oluşturma mantığının tamamı Pandas kütüphanesi kullanılarak uygulanmıştır.
Gerekirse projeye tasarımcıları, veri analistlerini ve kıdemli geliştiricileri dahil edebilirim