Geliştirici: Alpay Bilgiç
Versiyon: 1.0.22+120
Tarih: 27-01-2025
Bu uygulama, AzureDevOps on-premise kurulumları için mobil erişim sağlar. Kurumsal MDM (Mobile Device Management) sistemleri ile entegre edilerek güvenli bir şekilde dağıtılabilir. Flutter framework kullanılarak geliştirilmiştir ve hem Android hem iOS platformlarını destekler.
- ✅ Work Item görüntüleme ve yönetimi
- ✅ Custom field düzenleme (selectbox, combobox, tickbox desteği)
- ✅ Boolean field'lar Switch/Toggle olarak gösteriliyor (Azure web arayüzüne benzer)
- ✅ Gizli field'lar otomatik filtrelenir
- ✅ Discussion/Comments özelliği (yorum ekleme ve görüntüleme)
- ✅ Work Item Attachments (dosya ekleme ve görüntüleme)
- ✅ HTML desteği (Description ve diğer HTML alanları)
- ✅ Query çalıştırma ve sonuç görüntüleme
- ✅ Push notification desteği
- ✅ Bildirim Ayarları Özelleştirmesi:
- İlk atamada bildirim (sadece size ilk atandığında)
- Tüm güncellemelerde bildirim (atanmış work item'lar güncellendiğinde)
- Sadece Hotfix filtresi (yalnızca Hotfix tipindeki work item'lar için)
- Grup bildirimleri (belirtilen gruplara atama yapıldığında)
- Tüm ayarlar background servislerde aktif olarak çalışır
- ✅ Akıllı Saat Bildirimleri:
- Android Wear OS ve iOS watchOS desteği
- Xiaomi, Huawei, Samsung, Apple Watch desteği
- Saat uygulamasında özel uygulama seçimi ile bildirim iletimi (Mi Fit, Xiaomi Wear, Samsung Galaxy Watch, Apple Watch)
- Sadece ilk atamada akıllı saat bildirimi (titreşim, ses, ekran)
- Etkileşimli butonlar ile state değiştirme (dropdown menü)
- Dinamik state listesi (work item'ın mevcut state'leri)
- Bildirimden "Telefonda Aç" ile work item detay sayfasına yönlendirme
- ✅ Nöbetçi Modu:
- Telefon ve akıllı saat için ayrı ayrı aktif edilebilir
- Agresif bildirimler (maksimum öncelik, daha fazla titreşim, daha yüksek ses)
- Okunmayan bildirimler 3 kez otomatik yenilenir (30 saniye aralıklarla)
- ✅ Tatil Modu:
- Telefon ve akıllı saat için ayrı ayrı aktif edilebilir
- Tatil modunda hiçbir bildirim gelmez
- Polling interval kontrolü ile çalışır (hem telefon hem saat için aktifse hiçbir work item kontrolü yapılmaz)
- ✅ Gerçek zamanlı güncellemeler (WebSocket)
- ✅ Background task ile periyodik kontrol
- ✅ Personal Access Token (PAT) kimlik doğrulama
- ✅ Active Directory (AD) kimlik doğrulama (local user desteği)
- ✅ Güvenli token saklama (FlutterSecureStorage - AES-256)
- ✅ Otomatik token kontrolü
- ✅ 30 günlük otomatik logout (inaktivite)
- ✅ Wiki içerik görüntüleme
- ✅ Markdown rendering desteği
- ✅ Boards: Projeler → Work Item Types → Work Items hiyerarşik görünüm
- ✅ Work Items: Tüm work item'ları listeleme ve oluşturma
- ✅ Create Work Item: Proje ve work item type seçimi, dinamik field rendering
- ✅ Work Item Types ve Field Definitions API entegrasyonu
- ✅ Builds: Projeler → Builds hiyerarşik görünüm
- ✅ Build detayları: Timeline, stages, jobs görüntüleme
- ✅ Build işlemleri: Start, Cancel, View details
- ✅ Build logs görüntüleme
- ✅ Build authorization kontrolü
- ✅ Releases: Projeler → Release Definitions → Releases hiyerarşik görünüm
- ✅ Release Definitions: Klasör yapısında listeleme
- ✅ Release detayları: Environment'lar, approvals, status tracking
- ✅ Release işlemleri:
- Deploy Multiple: Tüm deploy edilebilir environment'lara toplu deploy
- Deploy Stage: Belirli environment seçerek deploy
- Cancel: Çalışan deployment'ları iptal etme
- Redeploy: Cancel sonrası tekrar deploy etme
- Create New Release: Release definition altından yeni release oluşturma
- ✅ Release logs: Environment bazında log görüntüleme
- ✅ Approval işlemleri: Release approval/reject
- ✅ Azure DevOps Services (cloud) ve On-Premise desteği
- ✅ IIS static dizininden APK ve IPA dosyalarını indirme
- ✅ Klasör yapısı desteği (Product → Version → Files)
- ✅ Otomatik dosya filtreleme (APK, IPA, AAB)
- ✅ Ana sayfada 4 grid/box: Boards, Work Items, Builds, Releases
- ✅ Dinamik şirket logosu/ismi: Server URL'den otomatik tespit veya custom ayar
- ✅ Settings'te logo display modu: Auto, Custom, Hide
- ✅ Versiyon bilgisi Azure DevOps logosunun altında gösteriliyor
- ✅ Azure DevOps logosuna tıklanınca GitHub repository adresi açılıyor
- ✅ Build detail screen scroll iyileştirmeleri - Tüm içerik düzgün şekilde scroll edilebiliyor
- ✅ Settings'e RDC Hizmetleri bölümü eklendi (https://rdc.com.tr linki ile)
- ✅ İlk açılış welcome dialog: "RDC Partner tarafından AzureDevOps kullanıcılarına sunulmuştur." mesajı (3 saniye, bir kez gösterilir)
- ✅ Certificate Pinning (SHA-256)
- ✅ Root/Jailbreak Detection
- ✅ Security Logging
- ✅ Encrypted Storage (AES-256)
- ✅ MDM entegrasyonu
- ✅ Uzaktan silme desteği
- ✅ Belgeler ekranı (Güvenlik, Altyapı, MDM dokümantasyonları)
┌─────────────────────────────────────────────────────────┐
│ Presentation Layer (UI) │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ Screens │ │ Widgets │ │ Provider │ │
│ └──────────┘ └──────────┘ └──────────┘ │
└─────────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────┐
│ Business Logic Layer (Services) │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ Auth │ │ WorkItem │ │ Wiki │ │
│ └──────────┘ └──────────┘ └──────────┘ │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ Notify │ │ Background│ │ Realtime │ │
│ └──────────┘ └──────────┘ └──────────┘ │
└─────────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────┐
│ Data Layer │
│ ┌──────────────┐ ┌──────────────┐ │
│ │ Secure Store │ │ Preferences │ │
│ │ (Encrypted) │ │ (Plain) │ │
│ └──────────────┘ └──────────────┘ │
│ ┌──────────────┐ ┌──────────────┐ │
│ │ HTTP Client │ │ WebSocket │ │
│ └──────────────┘ └──────────────┘ │
└─────────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────┐
│ Platform Layer │
│ ┌──────────────┐ ┌──────────────┐ │
│ │ Android │ │ iOS │ │
│ │ APIs │ │ APIs │ │
│ └──────────────┘ └──────────────┘ │
└─────────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────┐
│ Network (HTTPS/TLS 1.2+) │
└─────────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────┐
│ Azure DevOps Server (API v7.0) │
└─────────────────────────────────────────────────────────┘
Core Services:
- AuthService: PAT ve AD kimlik doğrulama, token yönetimi
- StorageService: Güvenli veri saklama (FlutterSecureStorage, SharedPreferences)
- WorkItemService: Work item CRUD, custom fields, attachments, comments
- WikiService: Wiki içerik çekme ve rendering
- NotificationService: Local notification gönderme
- BackgroundTaskService: Periyodik work item kontrolü ve bildirim
- RealtimeService: WebSocket ile gerçek zamanlı güncellemeler
- MarketService: IIS static dizin listeleme ve dosya indirme
- TurkishCultureService: Rastgele Türk kültürü bilgileri
- SecurityService: Root/jailbreak tespiti, güvenlik loglama
- CertificatePinningService: SHA-256 certificate pinning
-
Authentication Flow:
- Kullanıcı kimlik bilgilerini girer
- AuthService API'ye istek gönderir
- Token alınır ve FlutterSecureStorage'da şifrelenmiş olarak saklanır
- Token tüm API isteklerinde kullanılır
-
Work Item Flow:
- Kullanıcı work item listesini görüntüler
- WorkItemService API'den work item'ları çeker
- Custom field definition'ları alınır
- Veriler UI'da gösterilir
- Kullanıcı değişiklik yaparsa API'ye gönderilir
-
Notification Flow:
- BackgroundTaskService periyodik olarak çalışır
- Yeni/güncellenmiş work item'lar kontrol edilir
- Bildirim ayarlarına göre filtreleme yapılır
- Uygun bildirimler gönderilir
Detaylı mimari bilgisi için docs/ARCHITECTURE.md dosyasına bakın.
- Android: Minimum 5.0 (SDK 21), Target 14 (SDK 34)
- iOS: Minimum 12.0, Target 17.0
- Framework: Flutter 3.24.0
- Language: Dart
- State Management: Provider
- UI Components: Material Design, Cupertino
- HTTP Client: Dio
- Storage: FlutterSecureStorage (AES-256), SharedPreferences
- Real-time: WebSocket Channel
- Certificate Pinning: SHA-256 fingerprint doğrulama
- Encryption: AES-256 şifreleme (FlutterSecureStorage)
- Root Detection: Root/jailbreak tespiti
- Security Logging: Merkezi güvenlik loglama
- Auto Logout: 30 günlük inaktivite sonrası otomatik logout
- MDM Integration: MDM sistemleri ile entegrasyon
- Azure DevOps Server REST API: v7.0
- Protocol: HTTPS/TLS 1.2+
- Real-time: WebSocket (WSS)
- Authentication: PAT veya AD (Basic Auth)
- AzureDevOps veya üzeri
- API Versiyonu: 7.0
- HTTPS erişimi (TLS 1.2+)
- Android: Minimum 5.0 (SDK 21), Target 14 (SDK 34)
- iOS: Minimum 12.0, Target 17.0
# Bağımlılıkları yükle
flutter pub get
# Android APK oluştur
flutter build apk --release
# iOS IPA oluştur
flutter build ipa- APK/IPA dosyasını hazırlayın
- MDM sisteminize yükleyin
- Yapılandırma profilini oluşturun
- Dağıtım grubunu seçin
- Uygulamayı dağıtın
Detaylar için docs/MDM_INTEGRATION.md dosyasına bakın.
- Azure DevOps Server URL'si
- Personal Access Token (PAT) veya AD kimlik bilgileri
- Collection adı (opsiyonel)
- Market URL (opsiyonel): IIS static dizin URL'si (APK ve IPA dosyalarını indirmek için)
- Uygulamayı açın
- Ayarlar sayfasına gidin
- Server URL alanına Azure DevOps Server URL'sini girin
- Kimlik doğrulama yöntemini seçin (PAT veya AD)
- Giriş yapın
- Ayarlar → Bildirim Ayarları
- İstediğiniz bildirim seçeneklerini aktif edin:
- İlk atamada bildirim
- Tüm güncellemelerde bildirim
- Sadece Hotfix filtresi
- Grup bildirimleri (grup adları ekleyin)
- Akıllı Saat Bildirimleri:
- Önce saat uygulamanızda Azure DevOps uygulamasını etkinleştirin:
- Android saatler (Xiaomi, Huawei, Samsung): Mi Fit / Xiaomi Wear / Samsung Galaxy Watch uygulamasında Bildirimler → Özel Uygulama Seçimi → Azure DevOps aktif edin
- Apple Watch: iPhone Watch uygulamasında Bildirimler → Azure DevOps aktif edin
- Uygulama içinde: Ayarlar → Bildirim Ayarları → Akıllı Saat Bildirimleri toggle switch'ini aktif edin
- Sadece ilk atamada akıllı saat bildirimi gönderilir
- Etkileşimli butonlar ile state değiştirme yapılabilir
- Bildirimden "Telefonda Aç" seçeneği ile work item detay sayfasını açabilirsiniz
- Önce saat uygulamanızda Azure DevOps uygulamasını etkinleştirin:
- Nöbetçi Modu:
- Telefon için nöbetçi modu: Agresif bildirimler, okunmayan bildirimler 3 kez yenilenir
- Akıllı saat için nöbetçi modu: Agresif bildirimler
- Tatil Modu:
- Telefon için tatil modu: Hiçbir bildirim gelmez
- Akıllı saat için tatil modu: Hiçbir bildirim gelmez
- Ayarları kaydedin
Market özelliği, IIS static dizininden APK ve IPA dosyalarını indirmenizi sağlar.
-
IIS'te static dosya servisini aktif edin
-
Directory browsing'i aktif edin
-
Market dizin yapısını oluşturun:
C:\inetpub\wwwroot\_static\market\ ├── ProductA\ │ ├── 1.0.0\ │ │ ├── ProductA-1.0.0.apk │ │ └── ProductA-1.0.0.ipa │ └── 1.0.1\ └── ProductB\ └── 2.0.0\ -
web.config dosyası oluşturun:
Ana market dizinine (
C:\inetpub\wwwroot\_static\market\)web.configdosyası ekleyin:<?xml version="1.0" encoding="UTF-8"?> <configuration> <system.webServer> <staticContent> <mimeMap fileExtension=".IPA" mimeType="application/octet-stream" /> <mimeMap fileExtension=".APK" mimeType="application/octet-stream" /> </staticContent> </system.webServer> </configuration>
-
HTTPS erişimini sağlayın
- Ayarlar sayfasına gidin
- Market URL alanına IIS static dizin URL'sini girin
- Örnek:
https://uygun_iis.com/_static_files/market
- Örnek:
- Kaydet butonuna tıklayın
- Ana sayfada Market ikonuna tıklayın
- Klasör yapısı görüntülenir (Product → Version → Files)
- İstediğiniz dosyaya tıklayın
- Dosya otomatik olarak indirilir:
- Android: Downloads klasörüne kaydedilir
- iOS: Files app'te görünür (Documents dizini)
- Ana sayfada Work Items bölümüne gidin
- Work item listesini görüntüleyin
- Bir work item'a tıklayarak detaylarını görüntüleyin
- Work item detay ekranında Custom Fields bölümüne gidin
- Düzenlemek istediğiniz field'a tıklayın
- Değeri değiştirin:
- Selectbox/Combobox: Dropdown'dan seçin
- Checkbox/Tickbox: Checkbox'ı işaretleyin/kaldırın
- Date: Tarih seçiciyi kullanın
- Text/HTML: Metin alanını düzenleyin
- Kaydet butonuna tıklayın
- Work item detay ekranında Attachments bölümüne gidin
- Attach File butonuna tıklayın
- Dosyayı seçin
- Dosya yüklenir ve work item'a eklenir
- Work item detay ekranında Discussion bölümüne gidin
- Yorum alanına metninizi yazın
- Add Comment butonuna tıklayın
- Yorum work item'a eklenir
- Ana sayfada Queries ikonuna tıklayın
- Query listesini görüntüleyin
- Bir query'ye tıklayın
- Query sonuçları görüntülenir
- Sonuçlardan bir work item'a tıklayarak detaylarını görüntüleyebilirsiniz
- Ana sayfada Wiki bölümüne gidin
- Wiki içeriği görüntülenir
- Markdown formatı desteklenir
Ayarlar Ekranı Görünümü:
- Ayarlar ekranında Bildirim Ayarları bölümü bulunur
- Kontrol Sıklığı ayarı ile polling interval'i ayarlayabilirsiniz (5-300 saniye arası)
- Hızlı (10s), Normal (15s), Yavaş (30s) gibi önceden tanımlı seçenekler mevcuttur
Bildirim Türleri:
- Ayarlar → Bildirim Ayarları bölümüne gidin
- İstediğiniz bildirim seçeneklerini aktif edin:
- İlk Atamada Bildirim: Sadece size ilk atandığında bildirim alın
- Toggle switch'i aktif edin
- Bu seçenek aktifken, sadece ilk atamada bildirim gelir, sonraki güncellemelerde gelmez
- Tüm Güncellemelerde Bildirim: Atanmış work item'lar güncellendiğinde bildirim alın
- Toggle switch'i aktif edin
- Bu seçenek aktifken, tüm güncellemelerde bildirim gelir
- Sadece Hotfix: Yalnızca Hotfix tipindeki work item'lar için bildirim alın
- Toggle switch'i aktif edin
- Bu seçenek aktifken, sadece Hotfix tipindeki work item'lar için bildirim gelir
- Grup Bildirimleri: Belirtilen gruplara atama yapıldığında bildirim alın
- Toggle switch'i aktif edin
- Grup adı eklemek için + butonuna tıklayın
- Grup adı silmek için X butonuna tıklayın
- İlk Atamada Bildirim: Sadece size ilk atandığında bildirim alın
Akıllı Saat Bildirimleri:
Akıllı saatlerinizde Azure DevOps bildirimlerini almak için önce saat uygulamanızda Azure DevOps uygulamasını etkinleştirmeniz gerekir.
Android Saatler (Xiaomi, Huawei, Samsung, vb.):
- Mi Fit / Xiaomi Wear / Samsung Galaxy Watch uygulamasını açın
- Profil veya Ayarlar bölümüne gidin
- Bildirimler veya Uygulama Bildirimleri seçeneğini bulun
- Özel Uygulama Seçimi veya Uygulama Bildirimleri bölümüne gidin
- Azure DevOps uygulamasını bulun ve aktif edin
- Bildirim ayarlarını kontrol edin:
- Bildirimleri Göster: Açık
- Titreşim: Açık (isteğe bağlı)
- Ses: Açık (isteğe bağlı)
Apple Watch (watchOS):
- iPhone'unuzda Watch uygulamasını açın
- Bildirimler sekmesine gidin
- Azure DevOps uygulamasını bulun
- Bildirim stilini seçin:
- Bildirimleri Göster: Açık
- Bildirimlerde Ses Çal: Açık (isteğe bağlı)
- Titreşim: Açık (isteğe bağlı)
Uygulama İçi Ayarlar:
- Ayarlar → Bildirim Ayarları bölümüne gidin
- Akıllı Saat Bildirimleri toggle switch'ini aktif edin
- Bu özellik aktifken:
- Sadece ilk atamada akıllı saatte bildirim gelir
- Bildirimde titreşim, ses ve ekran bildirimi olur
- Etkileşimli butonlar ile work item state'i değiştirilebilir
- State listesi dinamik olarak work item'ın mevcut state'lerinden oluşur
- Dropdown menü ile state seçimi yapılabilir
Bildirimden Work Item Açma:
Akıllı saatte bildirim geldiğinde:
- Bildirime dokunun veya kaydırın
- "Telefonda Aç" veya "Open on Phone" seçeneğini seçin
- Telefondaki Azure DevOps uygulaması otomatik olarak açılır
- İlgili work item detay sayfası gösterilir
Not: Bu özellik için telefon ve akıllı saatin eşleşmiş olması ve Bluetooth bağlantısının aktif olması gerekir.
Nöbetçi Modu:
- Nöbetçi Modu bölümünde telefon ve akıllı saat için ayrı ayrı ayarlar bulunur
- Telefon için Nöbetçi Modu:
- Toggle switch'i aktif edin
- Bildirimler daha agresif olur (maksimum öncelik, daha fazla titreşim, daha yüksek ses)
- Okunmayan bildirimler 30 saniye aralıklarla 3 kez otomatik yenilenir
- Akıllı Saat için Nöbetçi Modu:
- Toggle switch'i aktif edin
- Akıllı saatte bildirimler daha agresif olur
Tatil Modu:
- Tatil Modu bölümünde telefon ve akıllı saat için ayrı ayrı ayarlar bulunur
- Telefon için Tatil Modu:
- Toggle switch'i aktif edin
- Bu mod aktifken telefonda hiçbir bildirim gelmez
- Akıllı Saat için Tatil Modu:
- Toggle switch'i aktif edin
- Bu mod aktifken akıllı saatte hiçbir bildirim gelmez
Ayarlar Ekranı Özellikleri:
- Tüm ayarlar gerçek zamanlı olarak kaydedilir
- Ayarlar cihazda kalıcı olarak saklanır
- Uygulama yeniden başlatıldığında ayarlar korunur
- Bildirim gönderilmiş work item'lar için tekrar bildirim gönderilmez
- Uygulama yeniden kurulduğunda bile bildirim geçmişi korunur
- İlk atamada bildirim gönderilmiş work item'lar için sonraki güncellemelerde bildirim gelmez (eğer sadece "ilk atamada bildirim" seçeneği aktifse)
-
✅ Token Şifreleme:
flutter_secure_storagekullanılıyor (Production'da aktif) -
Android: EncryptedSharedPreferences
- iOS: Keychain Services
- AES-256 şifreleme
-
✅ Certificate Pinning: Sertifika pinning uygulandı (Production Ready)
- SHA-256 fingerprint doğrulama
- Production build'lerde otomatik aktif (
PRODUCTION=true) - Setup guide:
scripts/setup_certificate_pinning.md
-
✅ Root/Jailbreak Tespiti: Root/jailbreak tespiti eklendi
- Uygulama başlangıcında otomatik kontrol
- Güvenlik olayları loglanıyor
-
✅ Otomatik Logout: Otomatik logout mekanizması eklendi
- 30 gün kullanılmadığında otomatik logout
- Son aktivite takibi
- Uygulama açıldığında kontrol edilir
Detaylı güvenlik bilgileri için docs/SECURITY.md dosyasına bakın.
- ARCHITECTURE.md - Mimari topoloji dokümantasyonu
- Mimari katmanlar
- Bileşen diyagramları
- Veri akışı
- Güvenlik mimarisi
- Deployment topolojisi
-
SECURITY.md - Güvenlik dokümantasyonu
- Güvenlik mimarisi
- Kimlik doğrulama
- Veri güvenliği
- Ağ güvenliği
- Güvenlik açıkları ve önlemler
-
INFRASTRUCTURE.md - Altyapı dokümantasyonu
- Sistem gereksinimleri
- Ağ yapılandırması
- Sertifika yönetimi
- Dağıtım adımları
- İzleme ve bakım
-
MDM_INTEGRATION.md - MDM entegrasyon kılavuzu
- Microsoft Intune entegrasyonu
- VMware Workspace ONE entegrasyonu
- Yapılandırma profilleri
- Uyumluluk politikaları
-
SECURITY_FEATURES.md - Güvenlik özellikleri detayları
flutter_secure_storage- Güvenli token saklamadio- HTTP istekleriprovider- State yönetimishared_preferences- Yerel depolamaflutter_local_notifications- Bildirimlerfile_picker- Dosya seçimiweb_socket_channel- WebSocket bağlantıları
# Debug APK
flutter build apk --debug
# Release APK
flutter build apk --release
# iOS IPA
flutter build ipalib/
├── main.dart # Uygulama giriş noktası
├── screens/ # Ekranlar
│ ├── login_screen.dart
│ ├── home_screen.dart
│ ├── work_item_detail_screen.dart
│ ├── work_item_list_screen.dart
│ ├── queries_screen.dart
│ ├── settings_screen.dart
│ ├── wiki_viewer_screen.dart
│ ├── documents_screen.dart
│ └── market_screen.dart
├── services/ # Servisler
│ ├── auth_service.dart
│ ├── storage_service.dart
│ ├── work_item_service.dart
│ ├── wiki_service.dart
│ ├── notification_service.dart
│ ├── background_task_service.dart
│ ├── realtime_service.dart
│ ├── market_service.dart
│ ├── turkish_culture_service.dart
│ ├── security_service.dart
│ └── certificate_pinning_service.dart
└── assets/ # Assets
└── images/
└── logo.png
docs/ # Dokümantasyon
├── ARCHITECTURE.md
├── SECURITY.md
├── INFRASTRUCTURE.md
├── MDM_INTEGRATION.md
├── SECURITY_FEATURES.md
└── README.md
- ✅ Türk Kültürü Popup (ana sayfada pull-to-refresh ile rastgele bilgiler)
- ✅ Work Item Attachments (dosya ekleme ve görüntüleme)
- ✅ Custom field düzenleme iyileştirmeleri
- ✅ Discussion/Comments özelliği
- ✅ Bildirim ayarları özelleştirmesi
- ✅ Steps alanı kaldırıldı
- ✅ HTML desteği (Description ve diğer alanlar)
- ✅ AD login local user desteği
- ✅ Bildirim filtreleme mantığı iyileştirildi
Detaylı release notları için RELEASE_NOTES.md dosyasına bakın.
Teknik Destek:
- Geliştirici: Alpay Bilgiç
- E-posta: bilgicalpay@gmail.com
Güvenlik Sorunları:
- E-posta: bilgicalpay@gmail.com
- Repository: https://github.com/bilgicalpay/azuredevops-mobile
Bu uygulama açık kaynak kodlu olarak geliştirilmiştir ve özel bir lisans altında dağıtılmaktadır.
İzin Verilenler:
- ✅ Yazılımı özgürce kullanabilirsiniz
- ✅ Yazılımı değiştirebilir ve geliştirebilirsiniz
- ✅ Yazılımı ticari olmayan amaçlarla dağıtabilirsiniz
- ✅ Eğitim ve kişisel kullanım için serbest
Kesinlikle Yasak Olanlar:
- ❌ TİCARİ SATIŞ YASAKTIR: Yazılımı veya türev eserlerini ticari amaçlarla satamazsınız
- ❌ TİCARİ DAĞITIM YASAKTIR: Yazılımı veya türev eserlerini ticari ürünlere dahil edemezsiniz
- ❌ TİCARİ LİSANSLAMA YASAKTIR: Türev eserleri sahipli veya ticari lisanslar altında lisanslayamazsınız
- ❌ YENİDEN SATIŞ YASAKTIR: Herhangi bir ticari dağıtım, yeniden satış veya ticarileştirme biçimi yasaktır
Gereksinimler:
- 📝 Kullanımda orijinal telif hakkı bildirimini ve atıfı korumalısınız
- 📝 Türev eserler aynı lisans koşulları altında dağıtılmalıdır
- 📝 Kaynak kodu kullanılabilir olmalıdır
Ticari Kullanım: ÖNEMLİ: Ticari kullanım, satış, lisanslama veya dağıtım için AÇIK YAZILI İZİN GEREKLİDİR.
Ticari kullanım için lütfen iletişime geçin:
- E-posta: bilgicalpay@gmail.com
Detaylı lisans metni (Türkçe ve İngilizce) için LICENSE dosyasına bakın.
Geliştirici: Alpay Bilgiç
Son Güncelleme: 25-12-2025
Versiyon: 1.0.22+120