Skip to content

.Net Core Web API for weather service and Console app with SignalR integration.

Notifications You must be signed in to change notification settings

mastermeric/WeatherService

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

WeatherService

.Net Core Web API for weather service and Console app with SignalR integration.

=== Turkish Release === PROJE AÇIKLAMASI : Locationiq API (latitude longitude bilgisi) ve darksky API (lokasyon bazlı sıcaklık verisi) kullanılarak; şehir bazlı meteorolojik veri elde eden servis ve monitörleme ekranı. WebAPI a gelen sorgulamalar şehir bazlı cache üzerinde tutulmuştur. Ayrıca; WebAPI ye gelen her bir yeni sorgu Monitör ekranlarına push edilmektedir (SignalR ile).

DEPLOYMENT Notları :

Deployment icin oncelikle DB ve tablo create edilir : "Docs" altinda "Script.sql" scripti çalıştırılarak tablo yaratılır. Veritabanı olarak "MS SQL Server 2016" kullanıldı ve SSMS uzerinde testler yapıldı. Proje VS2019 ile derlendi: "WeatherAPI\WebApplication1\BigDataTeknolojiWeather.sln" ile proje açılabilir. F5 ile kod çalıştırılırsa öncelikle API ardından Monitoring uygulaması run olur. Monitorlerme uygulaması için aşağıdaki exe ayrıca kullanılabilir (multiple monitoring yapmak için) "BigDataTeknoloji.UI\bin\Debug\netcoreapp3.1\Weather.UI.exe" DB Notları :

DAL katmanı icin EF kullanildi. appsettings.json icinde "BigDataTeknolojiTESTDatabase" connection stringi ilgili DB erişimini gösterir. BigDataTeknolojiTEST yerine gerekirse farkli bir DB uzerinde de script calistirilabilir. Web API - servis sorgulama notları :

Aşağıdaki URL deki gibi şehir bazlı API bilgileri alınabilir, İlk etapta DB boş iken kayıtlar cache lenmeden direk API ler üzerinden gelir; Aynı şehre ait daha sonra gelen sorgular ise Cache den okunur (süresi expire olana kadar)

http://localhost:50217/api/WeatherApi/GetWeatherData/Ordu http://localhost:50217/api/WeatherApi/GetWeatherData/Antalya

Bilinen bug lar (Known Issues) :

locationiq API sorgularında bir adet sorun dikkatimi çekti: Örneğin Hakkari, Şırnak gibi bazı şehirlerde "locationiq" API içinde Dakika/Saat bazlı sıcaklık verilerinde hata olduğu görüldü. Bu nednele JSON objesi içinde bu alan çıkartıldı. Diğer tüm JSON objeleri modellendi. Sade bir tasarım olması açısından; Veritabanı tasarımında; "weatherRecords" tablosunda sadece günlük/haftalık sıcaklık verileri tutuldu. Basit bir kullanım planlandıği için tüm JSON verileri tabloya yansıtılmadı.

About

.Net Core Web API for weather service and Console app with SignalR integration.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages