İnsan Kaynakları · Web Paneli + Mobil Uygulama
ShiftTracker
Personeliniz ofise girdiği anda Bluetooth beacon’ı tanır ve girişi otomatik kaydeder. İzinden mesaiye, yemek menüsünden bildirimlere kadar tüm operasyonel İK akışı tek platformda.
Proje Özeti
ShiftTracker, klasik PDKS çözümlerinin yerini alan üç katmanlı bir İK platformudur: ASP.NET Core 8 üzerinde geliştirilmiş yönetici web paneli, RESTful JSON API ve Flutter ile yazılmış iOS/Android personel uygulaması. Personel ofise vardığında telefonu cebindeyken bile BLE beacon sayesinde otomatik check-in/check-out yapılır; manuel kart okutma, parmak izi cihazı veya turnike donanımına gerek kalmaz.
Sistem yalnızca giriş-çıkış toplamaz; aynı veritabanı üzerinde izin yönetimi, kıdeme bağlı ek izin hesaplama, mesai analizi, geç giriş / erken çıkış raporları, yemek menüleri ve hedefli push bildirim altyapısı çalışır. 25+ alan modeli, 27 EF Core migrasyonu ve 17 yönetim ekranı ile orta ve büyük ölçekli işletmelerin tüm operasyonel İK ihtiyacını karşılar.
Sektör
İK · Vardiya & Devamlılık
Platform
Web (.NET 8) + Flutter
Donanım
BLE Beacon (iBeacon)
Modüller
📡
Beacon Tabanlı Otomatik Devam
UUID + Major/Minor + RSSI eşik değerleriyle ofise giriş anında otomatik check-in. Kat ve kapı bilgisi her kayıtta saklanır.
🗓️
İzin Yönetimi
İzin türü tanımlama, kota kontrolü, ekli belge yükleme, çok seviyeli onay akışı, iptal ve yönetici notu desteği.
⏱️
Mesai & Çalışma Süresi
Günlük net çalışma süresi, 9.5 saat üzeri mesai tespiti, kişi bazlı toplam mesai saati ve haftalık izin denetimi.
⏰
Geç Giriş / Erken Çıkış
09:00–18:00 / 11:00–20:00 / Pazar 10:00–19:00 vardiyaları, 15 dk tolerans ve dakika bazlı ortalama gecikme istatistiği.
🏆
Kıdem Bazlı Ek İzin
İşe başlangıç tarihinden hesaplanan kıdem yılı ve aralıklara göre ek izin günü tahsisi (örn. 5–10 yıl: +2 gün).
🍽️
Yemek Menüsü
Tarih, kategori ve grup bazlı menü; çorba/ana yemek/tatlı/içecek hiyerarşisi ve opsiyonel kalori bilgisi.
🔔
Hedefli Push Bildirim
Tüm kullanıcı / grup / rol / belirli kullanıcı hedefleme; vardiya, izin, duyuru ve uyarı kategorileri ile gönderim raporu.
👥
Rol & Grup Yönetimi
Departman/şube grupları, rol bazlı yetki, çoklu grup üyeliği ve acil durum kişileri kaydı.
🛡️
Bot & Brute-Force Koruması
Cloudflare Turnstile entegrasyonu ile login akışında bot, DDoS ve şifre deneme saldırılarına karşı GDPR uyumlu doğrulama.
Mobil Uygulama Akışı
- Otomatik tarama: Uygulama açılır açılmaz Bluetooth ve konum servisi durumu kontrol edilir, eksikse kullanıcı doğrudan ayarlara yönlendirilir.
- Beacon yakalama: Hedef UUID + Major/Minor + RSSI eşik değeri (-90) sağlandığında ofise giriş tespit edilir; çıkışta sinyal kaybedildiğinde otomatik check-out tetiklenir.
- Minimum bekleme süresi: Yapılandırılabilir minimum kalış süresi (varsayılan 5 dk) ile kapı önünden geçen personelin yanlış kayıt oluşturması engellenir.
- İzin talebi: Personel uygulamadan izin türü seçer, tarih aralığı belirler, gerekirse belge ekler ve durumu (Beklemede / Onaylandı / Reddedildi / İptal) gerçek zamanlı takip eder.
- İzin hakkı görünümü: Kalan yıllık izin günü, kıdem bonusu ve toplam kullanılan gün sekmeli arayüzde gösterilir.
- Yemek menüsü: Günlük menü grup atamasıyla otomatik filtrelenir; kategori bazlı görüntüleme.
- Bildirim merkezi: Push bildirimleri uygulama içi geçmişte saklanır, okundu sayacı ana ekranda görüntülenir.
- Profil yönetimi: Fotoğraf yükleme, telefon/e-posta güncelleme ve acil durum kişisi tanımlama.
Teknik Detaylar
- Çift Mimari: Razor MVC web yöneticisi +
api/v1/{Attendance,Leave,MealMenu,Notifications,Configuration}RESTful endpoint seti. AynıApplicationDbContextüzerinden tek veritabanı. - 25+ Entity Sınıfı: User, Role, Group, UserGroup, AttendanceRecord, LeaveRequest, LeaveType, LeaveRequestAttachment, SeniorityLeaveBonus, MealMenu, MealMenuItem, Notification, NotificationRecipient, EmergencyContact, Configuration ve daha fazlası.
- 27 EF Core Migrasyonu: InitialCreate’ten LeaveManagement’a, AddSeniorityLeaveBonus’tan AddUserPassword’e kadar tüm şema değişiklikleri versiyonlanmış olarak gelir.
- Konfigüre Edilebilir Davranış:
Configurationtablosu üzerinden minimum kalış süresi, RSSI eşiği, mesai saati gibi parametreler kod değişikliği olmadan yönetilir. - Cookie Tabanlı Yetkilendirme: 8 saat oturum süresi,
[Authorize]filtreleri, ayrı login/logout yolları, HSTS + HTTPS zorunluluğu. - Cloudflare Turnstile: Login formuna entegre, sunucu tarafı token doğrulama; bot, brute-force ve DDoS koruması GDPR uyumlu.
- Firebase Admin SDK 3.4: Token bazlı tek/grup hedefli push; Android için yüksek öncelik kanalı, iOS için APNS sound desteği. Background message handler tanımlı.
- BLE Beacon Entegrasyonu: Mobil tarafta
dchs_flutter_beaconile iBeacon protokolü; Android (BLUETOOTH_SCAN/CONNECT, LOCATION) ve iOS (always/whenInUse) izinlerinin otomatik akışı. - Manuel Müdahale: Yöneticiler için web panelinden manuel check-in/check-out, kayıt silme ve kullanıcı bazlı detay raporu.
- GUID Tabanlı Dosya Yönetimi: Kullanıcı fotoğrafları ve izin belgeleri ayrı klasörlerde, çakışmasız adlandırma.
- Şifre Güvenliği: SHA512 hashing; opsiyonel şifre alanı (legacy entegrasyonlar için) ve API login için ayrı endpoint.
- Lokasyon Bilgisi: Her devam kaydına kat (Major) ve kapı (Minor) numarası eklenir; çok katlı binalar için filtreleme.
Teknoloji Yığını
Web Backend
ASP.NET Core 8 · C# 12 · Entity Framework Core 9 · MS SQL Server · Razor Views · Cookie Authentication · Firebase Admin SDK 3.4 · Cloudflare Turnstile · HttpClient Factory · HSTS
Mobil Uygulama
Flutter 3.9+ · Dart · dchs_flutter_beacon · Firebase Core / Auth / Messaging · flutter_local_notifications · permission_handler · audioplayers · image_picker · file_picker · shared_preferences · http · intl
Çıktılar
25+
Domain entity sınıfı
27
EF Core migrasyonu
3
Arayüz · Web + REST + Mobil
0
Ek donanım gereksinimi*
*Yalnızca tek bir BLE beacon verici (USB veya pil ile) yeterlidir; turnike, kart okuyucu veya parmak izi cihazına ihtiyaç yoktur.