Bu, MooWeather mobil uygulaması için geliştirilmiş backend (arka uç) servisidir. C# ve .NET ile inşa edilmiş olup; mobil uygulama, kullanıcı veritabanı ve üçüncü taraf hava durumu sağlayıcıları (OpenWeatherMap) arasında güvenli bir köprü görevi görür.
📱 Not: Bu depo (repository) sadece backend kodlarını içerir. Flutter mobil uygulaması için şuraya göz atın: 👉 MooWeather Mobile Reposu
- Özel Veri Ayrıştırma (Custom Data Parsing): OpenWeatherMap'ten gelen karmaşık JSON verisini araya girip alır, temizler ve mobil istemciye biçimlendirilmiş, PascalCase formatında bir JSON gönderir.
- JWT Kimlik Doğrulaması: Mobil uygulama üzerinden Google ile giriş yapan kullanıcılar için uç nokta (endpoint) güvenliği sağlar.
- Bulut Senkronizasyonu: Kullanıcıların favori şehirlerini birden fazla cihaz üzerinden kaydetmesine, görüntülemesine ve silmesine olanak tanır.
- Yerelleştirme Aktarımı (Localization Passthrough): İstemciden (frontend) gelen dil parametrelerini (
?lang=tr,?lang=es) kabul eder ve doğru dilde çevrilmiş hava durumu açıklamalarını getirir.
- Repoyu klonlayın:
git clone [https://github.com/cyberQbit/MooWeather-Backend.git](https://github.com/cyberQbit/MooWeather-Backend.git)
appsettings.jsondosyasının içine OpenWeatherMap API Anahtarınızı (API Key) ekleyin.- Harici cihazların (örneğin fiziksel bir cep telefonunun) bilgisayarınızdaki yerel API'ye (localhost) bağlanabilmesi için projeyi aşağıdaki komutla çalıştırın:
dotnet run --urls "[http://0.0.0.0:5149](http://0.0.0.0:5149)"
This is the backend service for the MooWeather mobile application. Built with C# and .NET, it acts as a secure bridge between the mobile app, the user database, and third-party weather providers (OpenWeatherMap).
📱 Note: This repository contains the backend code. For the Flutter mobile app, visit: 👉 MooWeather Mobile Repository
- Custom Data Parsing: Intercepts complex JSON from OpenWeatherMap, cleans it, and sends formatted, PascalCase JSON to the mobile client.
- JWT Authentication: Secure endpoint protection for users signing in via Google on the mobile app.
- Cloud Sync: Allows users to save, retrieve, and delete their favorite cities across multiple devices.
- Localization Passthrough: Accepts language parameters (
?lang=tr,?lang=es) from the frontend and fetches accurately localized weather descriptions.
- Clone the repository:
git clone [https://github.com/cyberQbit/MooWeather-Backend.git](https://github.com/cyberQbit/MooWeather-Backend.git)
- Set your OpenWeatherMap API Key in
appsettings.json. - To allow external devices (like a physical mobile phone) to connect to your localhost API, run the project with the following command:
dotnet run --urls "[http://0.0.0.0:5149](http://0.0.0.0:5149)"