Uyumluluk Eğitimi Yönetimi için Web Uygulaması Nasıl İnşa Edilir
Uyumluluk eğitimini atama, tamamlama takibi, hatırlatmalar gönderme ve denetime hazır raporlar üretme adımlarını öğrenin — baştan sona rehber.

Hedefleri, Kullanıcıları ve Uyumluluk Gereksinimlerini Belirleyin
Ekran taslağı çizmeye veya teknoloji yığını seçmeye başlamadan önce uygulamanın kime hizmet edeceğini ve denetçilere ne kanıt sunması gerektiğini netleştirin. Uyumluluk araçları çoğunlukla kod yüzünden değil, hedefler belirsiz olduğu ve kanıtlar denetçilerin beklentileriyle örtüşmediği için başarısız olur.
Kullanıcılarınızı belirleyin (ve her birinin neye ihtiyacı var)
Bir uyumluluk eğitim web uygulamasında genellikle en az beş kitle vardır:
- İK: basit atama iş akışları, toplu işlemler ve “kim gecikti?” sorusuna hızlı cevaplar ister.
- Uyumluluk / hukuk: denetim kanıtı, politika uyumu ve savunulabilir raporlama ister.
- Yöneticiler: ekipleri üzerinde görünürlük ve yükseltme yolları ister.
- Çalışanlar: net görevler, düşük sürtünme ve sertifikalara kolay erişim ister.
- Taşeronlar / geçici çalışanlar: genellikle sınırlı erişim, daha kısa saklama ve farklı eğitim kuralları gerekir.
Her rol için 2–3 ana görev yazın (ör. “Yönetici, bölümü için geciken öğrenenlerin listesini dışa aktarır”). Bu görevler v1 öncelikleriniz olur.
Eğitim türlerini ve kuralları listeleyin
İlk günden destekleyeceklerinizi belgeleyin:
- Oryantasyon (başlangıçtan sonra X gün içinde tamamlanmalı)
- Yıllık tazeleme (her 12 ayda bir süresi dolar)
- Rol tabanlı kurslar (işe, konuma veya sistem erişimine göre atanır)
Kural detaylarını yakalayın: son tarihler, sona erme, hoşgörü süreleri ve birinin rolü değiştiğinde ne olduğu.
Sonuçları, sınırları ve başarı metriğini tanımlayın
İnşa edeceğiniz sonuçları netleştirin: tamamlama takibi, uyumluluk sertifikaları ve denetime hazır kanıt (zaman damgaları, versiyonlar, beyanlar).
v1 sınırlarını açıkça belirleyin (ör. “yazar aracı yok”, “onay dışında quiz yok”, “dış içerik pazaryeri yok”).
Son olarak, ölçülebilir başarı metrikleri seçin:
- gecikme oranında % azalma
- aylık raporlama için tasarruf edilen zaman
- denetimler için rapor dönüş süresi
- manuel hatırlatma e-postalarında azalma (sistem günlükleriyle izlenir)
Temel Özellikleri ve Veri Modelini Haritalandırın
Araçları veya ekranları seçmeden önce uygulamanızın ne bilmesi (veri) ve ne yapması (iş akışları) gerektiğini netleştirin. Temiz bir veri modeli, ileride raporlama, hatırlatmalar ve denetim kanıtlarını çok daha kolay hâle getirir.
Temel varlıklar (ne saklarsınız)
Küçük bir varlık setiyle başlayın ve sadece bir cümleyle açıklayabileceğiniz eklemeler yapın:
- Kullanıcılar (çalışanlar, yöneticiler, yöneticiler)
- Roller (bir kullanıcının sistemle etkileşim biçimi)
- Kurslar (uyumluluk gereksinimi olarak paketlenmiş eğitim)
- Dersler (kurs içindeki birimler: video, PDF, politika sayfası)
- Quizler (bilgi kontrolü, geçme/kalma eşikleri)
- Atamalar (kimin ne alacağı ve ne zamana kadar)
- Tamamlamalar (zaman damgaları, puanlar, denemeler, kanıt)
- Sertifikalar (bir tamamlamaya bağlı oluşturulmuş kanıt)
Yararlı bir kural: raporda görünmesi gereken her şey açıkça temsil edilmelidir (ör. “atanma son tarihi” serbest metin içinde gizli olmamalıdır).
Ana iş akışları (nasıl ilerler)
Verilerinizi denetim kanıtı oluşturan eylemler etrafında modelleyin:
- Kurs oluştur → ders/quiz ekle → yayınla
- Eğitim ata → kullanıcı veya grupları seç → son tarihi belirle → bildirim gönder
- Eğitimi tamamla → dersleri tüket → quiz geç → tamamlamayı kaydet
- Yönetici incelemesi (opsiyonel) → istisnaları onayla, durumu görüntüle, takip et
Tenant (kiracı) modeli (kimin için inşa ediyorsunuz)
Erken karar verin:
- Tek kiracılı: bir şirket, daha basit izinler ve raporlama
- Çok kiracılı: birden fazla kuruluş aynı sistemde, çoğu kayıtta “Organization” (veya “Tenant”) alanı gerekir
Saklama temel kuralları (denetim kayıtları)
Bu aşamada hangi kayıtların denetimler için saklanması gerektiğini işaretleyin—genellikle atanmalar, tamamlamalar, quiz sonuçları ve sertifikalar—ve bir saklama süresi ekleyin (örn. 3–7 yıl) ki sonradan yeniden tasarım yapmayın.
MVP'yi tanımlayın
İlk sürüm için hedef: kurs oluşturma, temel atamalar, öğrenen tamamlaması, sertifika üretimi ve basit bir durum raporu. Temel veriler doğru olduğunda diğer her şey eklenti olarak gelir.
Roller, İzinler ve Denetim İzlerini Planlayın
Roller ve izinler, uyumluluk eğitim uygulamalarını ya kolay yönetilebilir yapar ya da “bunu kim değiştirdi?” karışıklığının kaynağı olur. Küçük bir rol setiyle başlayın, izinleri açıkça belirleyin ve her anlamlı değişikliği kaydedin.
Temel rolleri tanımlayın
Pratik bir temel:
- Admin: sistem ayarlarını, entegrasyonları ve kullanıcı teminini yönetir.
- Uyumluluk yetkilisi: eğitim programlarının, politikaların ve denetim kanıtlarının sahibi.
- Yönetici: kendi ekibine eğitim atar ve tamamlamayı izler.
- Öğrenen: kendisine atanan eğitimi tamamlar ve sertifikalarını indirir.
- Denetçi (sadece okuma): raporları ve kanıtları görüntüler, değiştiremez.
Rolleri örgütsel yapıdan ayrı tutun. Bir uyumluluk yetkilisi aynı zamanda yönetici olabilir; bu yüzden bir kişiye birden fazla rol atamayı destekleyin.
Rolleri somut izinlere dönüştürün
Belirsiz erişim seviyeleri yerine, eylemleri listeleyin ve rollere eşleyin. Örnekler:
- Eğitim ata: admin, uyumluluk yetkilisi, yönetici (kendi ekibiyle sınırlı)
- Eğitim içeriğini düzenle: uyumluluk yetkilisi (ve isteğe bağlı admin), yönetici değil
- Raporları görüntüle: uyumluluk yetkilisi (tümü), yöneticiler (kendi ekipleri), denetçi (tümü, sadece okuma)
- Tamamlamaları geçersiz kılma / muafiyet verme: sadece uyumluluk yetkilisi, zorunlu gerekçe ile
Varsayılan olarak “en az ayrıcalık” ilkesini kullanın ve yöneticilerin fazladan görmesini önlemek için kapsam kuralları (bölüm, konum, iş rolü) ekleyin.
Taşeronlar ve dış öğrenenler
Taşeronlar için davetiye bağlantıları veya e-posta davetleri ve sınırlı erişim kullanın: sadece atanan modülleri, son tarihleri ve kendi sertifikalarını görmeliler. Şirket genel dizinlerine veya raporlara erişim vermekten kaçının.
Hesap yaşam döngüsü kuralları
Oryantasyonda ne olacağı (otomatik rol + grup ataması), pasifleştirmede (erişim engellenir, kayıtlar saklanır) ve yeniden işe alımda (geçmişi korumak için aynı kullanıcı kaydını yeniden etkinleştirme) ne olacağını tanımlayın.
Denetim izlerini zorunlu kılın
İçerik düzenlemeleri, atama değişiklikleri, son tarih değişiklikleri, muafiyetler, tamamlamayı geçersiz kılmalar, sertifika yeniden düzenlemeleri ve izin güncellemeleri gibi ana olaylar için kim, ne zaman yaptı kaydedilsin. Eski ve yeni değerleri, eylemi yapanı, zaman damgasını ve (ilgili ise) gerekçeyi saklayın—böylece denetimler delil, dedektiflik çalışması olmaz.
Eğitim İçeriğini ve Öğrenme Deneyimini Tasarlayın
Bir uyumluluk eğitim web uygulaması, öğrettiği netlik ve “ben bunu tamamladım” ifadesini güvenilir şekilde yakalayıp yakalayamamasına göre başarılı olur veya başarısız olur. Çalışanların ne bekleyeceklerini her zaman bilecekleri tutarlı bir kurs yapısı tasarlayın.
Açık bir kurs yapısı tanımlayın
Çoğu uyumluluk kursu modüller → dersler şeklinde iyi işler; her ders şu öğeleri içermelidir:
- Ekler (PDF'ler, referans dokümanlar)
- Politika metni (resmi ifade)
- Onaylar (onay kutusu veya “okudum ve anladım” gibi kısa beyan)
Onayları açık tutun ve belirli politika/versiyona bağlayın ki denetimler sırasında geçerli olsun.
Doğru içerik türlerini destekleyin (karmaşıklaştırmadan)
Yaygın formatlar için plan yapın: video, PDF, web bağlantıları, ve basit metin sayfaları.
Tedarikçi eğitim paketleri gerekiyorsa, SCORM veya xAPI desteklemeyi değerlendirin—ancak bunun izleme ve başlatma davranışını etkilediğini unutmayın, bu yüzden gerçekten gerekliyse ekleyin.
Tarihi bozmadan içeriği versiyonlayın
Uyumluluk içeriği değişir. Sisteminizin adminlerin yeni bir versiyon yayınlamasına izin verirken önceki tamamlamaları bozmaması gerekir. Pratik yaklaşım:
- Eski versiyonları kanıt için salt-okunur tutun
- Güncellenen içeriği gerekliyse yeni bir tamamlamaya dönüştürün
- Yeniden onaylamadan önce öğrenene “Politika güncellendi…” gösterin
Yerel dil ve erişilebilirlik temelleri
Birden fazla bölgede çalışıyorsanız çoklu dil, zaman dilimleri ve yerel tarih formatları (örn. 12/11 vs 11/12) için plan yapın. Erişilebilirlik için video altyazıları/transkriptler, tam klavye navigasyonu ve okunabilir düzenler (net başlıklar, iyi kontrast, makul satır uzunluğu) ekleyin. Bu seçimler tamamlanma oranlarını artırır ve destek taleplerini azaltır.
Atama, Zamanlama ve Hatırlatma Mantığını Kurun
Atama ve zamanlama mantığı, uygulamanın “otomatik” hissetmesini sağlar. Amaç, doğru kişilerin doğru eğitimi doğru zamanda almasını sağlamaktır—yönetici tabloları yapmadan.
Ölçeklenebilir atama kuralları
Atamaları tek seferlik kararlardan ziyade kurallar olarak modelleyin. Yaygın kural girdileri: bölüm, iş rolü, konum, risk seviyesi ve işe giriş tarihi. Kuralları okunabilir yapın (“CA’deki tüm depo personeli HazMat Temelleri'ni tamamlamalı”) ve sürümleyin ki bir denetimde hangi kuralın aktif olduğu kanıtlanabilsin.
Pratik bir desen: Kural → Hedef grup → Eğitim öğesi → Takvim. Bir önizleme modu gösterin: “Bu kural kaydedilirse kim atanacak” hatalı kitlesel atamaları önlemek için.
Son tarihler, tekrarlar ve politika değişim döngüleri
Birkaç net zamanlama türünü destekleyin:
- Tek seferlik (ör. oryantasyon)
- Tekrarlayan (yıllık, üç aylık)
- Olay kaynaklı (politika değişikliğinden sonra)
Son tarihleri basit bir politikayla tanımlayın: “atanmadan X gün sonra” veya “sabit tarih”. Tekrarlar için sonraki döngünün tamamlanma tarihinden mi yoksa sabit takvim noktasından mı başlayacağını karar verin (yıllık uyumluluk için önemli).
Muafiyetler ve feragatlar
Muafiyetler kasıtlı ve belgelenmiş olmalı. Muafiyet gerekçesi, onaylayan kişi, bir sona erme tarihi (varsa) ve destekleyici kanıt için ek alan isteyin. Muafiyetleri birinci sınıf kayıt olarak ele alın ki denetime hazır raporlarda görünsünler.
Hatırlatmalar, eskalasyonlar ve kenar durumlar
Hatırlamaları otomatikleştirin (e-posta, Slack/Teams, uygulama içi), gecikme durumunda öğrenci’den yöneticilere doğru eskale edin.
Kısmi tamamlamayı modül seviyesinde izleyin ve yeniden atama yapıldığında önceki deneme geçmişini saklarken yeni son tarih ve gereksinimleri sıfırlayın.
İlerleme Takibi, Sertifikalar ve Raporlama
İlerleme takibi, uyumluluk eğitim web uygulamanızın değerini kanıtladığı yerdir. “Kim neyi, ne zaman ve hangi kanıtla tamamladı?” sorusunu cevaplayamıyorsanız, iç incelemeler ve dış denetimlerle zorlanırsınız.
Ne izlenmeli (ve neden önemli)
En azından her öğrenen ve atama için denetime uygun olayları saklayın:
- Başlama ve tamamlama zaman damgaları (belirli tarihe kadar eğitildi kanıtı için)
- Quiz skorları (geçme/kalma ve eşik dahil)
- Onaylar (örn. “politika okundu ve anlaşıldı”) zaman damgası ve politika versiyonu ile
- Harcanan süre, yalnızca uygun ve gerekçeli ise (sadece “çünkü toplayalım” için toplamayın)
Ham olayları mümkün olduğunca değiştirilmez tutun, ardından “güncel durum”u bunlardan hesaplayın. Bu atama değiştiğinde karışıklığı önler.
Manuel iş yaratmayan sertifikalar
Sertifikalar tamamlamada otomatik üretilmeli ve kurallara bağlı olmalı:
- Çalışan adı, kurs başlığı, tamamlama tarihi, sertifika ID, veren gibi birleştirme alanlı şablon
- Sona erme tarihleri (sabit veya göreli)
- Sona erme öncesi yeniden sertifikalandırma kuralları (örn. 30 gün önce yeniden atama)
Sertifika aramayı kolay yapın: öğrenen profili ve kurs tamamlanma kaydından tek tıklama erişim.
Gerçek dünya kanıtları için ekler
Denetçiler genellikle destekleyici belgeler ister. İmzalı formlar, politika onayları veya yönetici beyanları gibi güvenli eklere izin verin—belirli kurs denemesine bağlı ve zaman damgalı olmalılar.
Teknik olmayanların kullanabileceği raporlama
CSV (analiz için) ve PDF (paylaşım için) dışa aktarımlar sağlayın. Filtreler: ekip, konum, kurs, zaman aralığı; ve açık dilli etiketler kullanın: “Gecikmiş”, “Yakında süresi dolacak”. İyi bir rapor, yaygın denetim taleplerini mühendis gerektirmeden cevaplamalı.
İK Sistemleri, SSO ve Bildirimlerle Entegrasyon
Entegrasyonlar, uyumluluk eğitim web uygulamanızı ayrı bir araç olmaktan günlük operasyonun bir parçası haline getirir. İyi yapılırsa, manuel idari işi azaltır, tamamlama oranlarını artırır ve denetime hazır raporlamayı daha güvenilir yapar.
Planlanacak yaygın entegrasyonlar
Çoğu ekip birkaç yüksek etkili bağlantıyla başlar:
- HRIS / İK platformu: çalışan listesi, bölümler, yöneticiler, istihdam durumu, konumlar
- SSO (SAML/OIDC): güvenli giriş, daha az parola, temiz offboarding
- E-posta + takvim: atama bildirimleri, son tarih hatırlatmaları, isteğe bağlı takvim tutma
- Slack/Teams: hafif dürtmeler, yönetici uyarıları, eskalasyon hatırlatmaları
Gün birinci günde hepsini inşa etmeyecekseniz bile, entegrasyon “yuvalarını” erken tanımlayın ki veri modeli ve izinler daha sonra sizi engellemesin.
Veri senkronu: zamanlanmış içe aktarma vs gerçek zamanlı güncellemeler
İki tip yaklaşım vardır:
Zamanlanmış içe aktarma (günlük/saatlik): işletmesi daha basit ve yeniden denemesi kolaydır. Atamalar org değişikliklerini anlık yansıtmak zorunda değilse iyi çalışır.
Gerçek zamanlı webhook'lar: İK değiştiğinde (yeni işe alım, işten çıkarma, yönetici değişikliği) güncellemeler hemen akar. Bu, zaman duyarlı eğitim için doğruluğu artırır ama daha kuvvetli izleme, idempotensi ve yeniden oynatma (replay) gerektirir.
Birçok ürün her ikisini de kombine eder: ana olaylar için webhook'lar ve kaçırılanları yakalamak için gece uyumlandırma.
Kimlik eşleştirme ve çoğaltmalar
Entegrasyonların sessizce başarısız olduğu yer kimlik eşleştirmesidir. Kurallar planlayın:
- Sabit tanımlayıcılar: e-posta yerine HRIS’den immutable çalışan ID'si tercih edin
- E-posta değişiklikleri: e-postayı değiştirilebilir bir öznitelik olarak ele alın, birincil anahtar yapmayın
- Çoğaltmalar: yeniden işe alımlar, taşeronlar ve birleştirilmiş kayıtlar için bir admin inceleme kuyruğu oluşturun
Amaç, bir kullanıcının profili değişse bile eğitim geçmişini ve sertifikalarını korumaktır.
Entegrasyon başarısız olunca yedekler
HRIS veya SSO’nun %100 kullanılabilir olacağını varsaymayın. Şunları sağlayın:
- Elle CSV yükleme for roster ve tamamlamalar için
- Eşleşmeyen veya eksik kayıtlar için admin inceleme kuyruğu
- Net senkron günlükleri (ne değişti, ne başarısız oldu, ne atlandı)
Bu kontroller denetimler ve ay sonu raporlaması sırasında panik olmasını azaltır.
API temelleri: muhtemelen ihtiyaç duyacağınız uç noktalar
Tek bir entegrasyonla başlasanız bile temiz bir API yüzeyi tasarlayın için:
- Kullanıcılar: oluştur/güncelle/pasifleştir, bölüm/konuma göre listele
- Atamalar: bireylere/gruplara eğitim ata, son tarih belirle
- Tamamlamalar: tamamlamaları kaydet, sertifika meta verisi ekle
- Raporlar: tamamlama durumu, geciken listeler, denetim anlık görüntüleri dışa aktar
SSO destekliyorsanız kimliğin yerel kullanıcılarla nasıl bağlanacağını ve bir kullanıcı devre dışı bırakıldığında ne olacağını planlayın—raporlamanız erişim kaldırılmış olsa bile sağlam kalmalı.
Güvenlik, Gizlilik ve Veri Saklamayı Ele Alın
Güvenlik ve gizlilik, uyumluluk eğitim web uygulamasında “ekstra özellik” değil—kayıtlarınızın bir denetimde güvenilir olmasını sağlayan parçadır. Amaç, çalışan verilerini korumak, yetkisiz değişiklikleri önlemek ve soru çıktığında ne olduğunu ispatlayabilmektir.
Güvenlik temelleri (kimlik doğrulama, parolalar, oturumlar)
Güçlü kimlik doğrulama ile başlayın: adminler için MFA desteği, makul parola kuralları (uzunluk, yeniden kullanımın önlenmesi) ve giriş uç noktalarını rate limit ile koruyun. Oturumları dikkatle yönetin—güvenli, HTTP-only çerezler, admin alanlarında kısa boşta kalma zaman aşımı ve rapor indirme veya izin değişikliği gibi yüksek riskli işlemler için yeniden kimlik doğrulama.
Rol tabanlı erişimi her yerde zorunlu kılın
RBAC yalnızca UI’de değil, her hassas eylemde uygulanmalı. Sunucu tarafı kontroller şunları doğrulamalı:
- çalışan eğitim geçmişini görüntüleme
- tamamlamaları düzenleme veya sertifika düzenleme
- kullanıcı veya atama içe aktarma
- denetime hazır rapor indirme
Bir uç nokta atamaları, son tarihleri veya tamamlanma durumunu değiştirebiliyorsa, çağıranın rolünü ve kapsamını doğrulamalıdır (örn. sadece kendi bölümü).
Kişisel veriyi koruma (şifreleme ve minimize etme)
Tüm trafiği TLS ile şifreleyin, dahili API'ler dahil. Veri beklemede (at rest) özellikle hassas alanları şifreleyin gerektiğinde (çalışan tanımlayıcıları, HR eşlemeleri, notlar). Aynı zamanda daha az veri depolayın: gereksiz PII toplamaktan kaçının ve eğitim içeriğini çalışan kayıtlarından ayırın.
Denetimler için günlükleme ama aşırı paylaşmadan
“Kim ne yaptı, ne zaman” sorusunu cevaplayacak günlükler tutun:
- oturum açmalar ve başarısız denemeler
- admin eylemleri (ata, geçersiz kıl, içerik değişikliği)
- rapor indirmeleri ve dışa aktarımlar
Günlükleri değiştirilemez (append-only) veya yazma erişimi kısıtlı tutun ve kişisel verileri sızdırmamaya dikkat edin—günlüklerde tam profiller değil ID’ler ve eylemler olsun.
Gizlilik ve saklama politikası (silme ve arşiv)
Saklama kurallarını erken tanımlayın: tamamlamaları, sertifikaları ve günlükleri ne kadar süreyle saklayacaksınız ve bir kişi şirketten ayrıldığında ne olacak. Net silme ve arşiv akışları (zamanlanmış temizlik işleri dahil) uygulayın ve bunu kısa bir iç politika olarak belgeleyin; adminlerin /help sayfasından erişebileceği bir yer olsun.
Pratik Bir Mimari ve Teknoloji Yığını Seçin
Bir uyumluluk eğitim uygulaması, en iyi anlamda sıkıcı olduğunda başarılı olur: öngörülebilir, işletimi kolay ve denetlenebilir. HR, uyumluluk ve denetçilere basitçe açıklayabileceğiniz bir mimariyle başlayın; gereksinim ortaya çıktıkça karmaşıklığı ekleyin.
Önyüz: öğrenen portalı, admin konsolu, raporlama
Genellikle iki deneyime ihtiyacınız var:
- Öğrenen portalı: atanmış kurslar, son tarihler, ilerleme, sertifikalar ve gerekirse kanıt yükleme
- Admin konsolu: kullanıcıları, kursları, atamaları, istisnaları ve yeniden eğitim kurallarını yönetin
- Rapor ekranları: “kim gecikti?”, “kim X politikasını tamamladı?” gibi hızlı filtreler ve dışa aktarma seçenekleri
Tek sayfa uygulaması (React/Vue) yaygın ve iyi çalışır; ama bir sunucu-render yaklaşımı (Rails/Django/Next.js) daha hızlı inşa edilip güvenliği kolaylaştırabilir. Hızlı bir prototip isterseniz, yapı specsinden öğrenen portalı, admin konsolu ve temel iş akışlarını üretebilen Koder.ai gibi bir araç kullanıp sonra RBAC, denetim izleri ve saklamayı sertleştirebilirsiniz. (Koder.ai’nin varsayılanları—önyüzde React, Go servisleri ve PostgreSQL—denetime uygun ilişkisel mimariyle uyumludur.)
Arka uç: iş kuralları, raporlama sorguları, arka plan işleri
Arka uç kurallara sahip olmalı: atama mantığı, son tarih hesaplama, tekrar eden eğitim, hoşgörü süreleri ve sertifika verme. Ayrıca denetime hazır raporları tarayıcıya güvenmeden oluşturmalıdır.
Arka plan işleri için planlayın:
- zamanlanmış hatırlatmalar (e-posta/Slack/Teams)
- gece “geciken” yeniden hesaplaması
- rapor oluşturma ve dışa aktarma
Veri tabanı: denetlenebilirlik için ilişkisel seçin
Eğitim takibi ve denetim izleri için ilişkisel veri tabanı (PostgreSQL/MySQL) genellikle en iyi seçimdir. Birleştirme ve zaman bazlı raporlama (ör. bölüm, kurs versiyonu ve tarihe göre tamamlamalar) iyi işler. Ana tablolarınızı erken belgeleyin (kullanıcılar, kurslar, atamalar, tamamlamalar, sertifika kayıtları).
Dosya depolama: içerik ve kanıtlar
Eğitim materyalleri (PDF, videolar) ve kanıt yüklemeleri nesne depolamada (S3-uyumlu) saklanmalı; net saklama kuralları ve erişim denetimleri olmalı. Kim ne yükledi, ne zaman ve hangi atama için metadata veritabanında tutulmalı.
Ortamlar: dev/staging/prod ve konfigürasyon
İlk günden dev/staging/prod kurun. Konfigürasyonu (SSO ayarları, e-posta sağlayıcıları, saklama süreleri) ortam değişkenleri veya bir gizli yöneticide tutun ki staging’de güvenli test yapabilesiniz.
Yönetici Verimliliği ve Öğrenen Netliği İçin UI Tasarlayın
Uygulama, yöneticiler programları hızlıca yürüttüğünde ve öğrenenler her zaman bir sonraki adımı bildiğinde başarılı olur. UI kararları hataları azaltmalı, tekrarlayan işleri hızlandırmalı ve eğitim durumunu anında okunur kılmalıdır.
İş yapan ekranların tel çerçevelerini çizin
Temel akışlar için basit tel çerçevelerle başlayın:
- Admin panosu: “Ne gecikti?”, “Kim risk altında?” ve hızlı eylemler (ata, hatırlat, dışa aktar)
- Kurs kataloğu: arama, gereksinimler (süre, tekrar, sertifika geçerliliği)
- Atama sayfası: kullanıcı/grup seç, son tarihler, hatırlatmalar ve kaydetmeden önce etkinin onayı
- Rapor oluşturucu: filtreler, sütunlar, kaydedilmiş görünümler ve “denetime hazır” dışa aktarım
Bu ekranları en yaygın LMS görevleri etrafında tasarlayın—veritabanı şemasından ziyade iş akışına odaklanın.
Yönetici işlemlerini hızlı (ve güvenli) yapın
Yöneticiler listelerde yaşar. Onlara toplu işlemler (ata, son tarihi uzat, hatırlatıcıyı yeniden gönder), şablonlar (yaygın eğitim paketleri) ve kaydedilmiş filtreler verin (örn. “Depo personeli – geciken”). Yapışkan tablo başlıkları, satır içi arama ve mantıklı varsayılanlar gibi küçük dokunuşlar saatteki işi azaltır.
Hataları önlemek için açık doğrulamalar (“Son tarih geçmiş olamaz”), yüksek etkili eylemler için onaylar ve mümkünse geri al (örn. 30 saniye içinde atamayı geri al) ekleyin.
Durumu bir bakışta anlaşılır yapın
Eğitim durumları için tutarlı etiketler ve renkler kullanın: Gecikmiş, Yakında süresi dolacak, Tamamlandı, Sertifika süresi doldu. Bir sonraki son tarihi her yerde gösterin (panel kartları, öğrenen ana sayfası, rapor satırları). Bu destek taleplerini azaltır ve denetime hazır raporların güvenilirliğini artırır.
Telefonlar için tasarlayın, netlikten ödün vermeden
Birçok öğrenen eğitimi mobilde tamamlar. Öğrenen görünümünü odaklı tutun: birincil eylem (“Devam et”), okunaklı modüller, büyük tıklama hedefleri ve sertifikayı hızlı indirme. Mobilde yoğun tablolar kullanmaktan kaçının—kartlar ve kısa özetler tercih edin.
Doğruluk, Ölçek ve Denetim Hazırlığı İçin Test Edin
Uyumluluk eğitim uygulamasını test etmek sadece “çalışıyor mu?” sorusunun ötesindedir—sistem tutarlı, izlenebilir ve denetçiler zor sorular sorduğunda güvenilir olmalıdır.
Doğru test türlerini kapsayın
Kuralların hiç değişmemesi gereken bölümleri için unit testleriyle başlayın: son tarih hesaplamaları, hoşgörü süreleri, yeniden eğitim aralıkları, eşdeğerlik kuralları ve sertifika sona erme mantığı.
API’ler için entegrasyon testleri ekleyin: atama oluşturma, tamamlamaları kaydetme, sertifika üretme ve HR verisi değiştiğinde kullanıcı güncellemeleri.
Kritik akışlar için küçük bir set UI testleri (admin atar, öğrenen tamamlar, yönetici rapor çalıştırır) oluşturun; bu testleri odaklı tutun ki bakım yükü düşük olsun.
Veri kalitesini doğrulayın (sessiz hatalar)
Uyumluluk sistemleri genellikle ince veri sorunlarıyla başarısız olur. Otomatik kontroller ekleyin:
- Tamamlama durumları (örn. “devam ediyor” gerekli modüller olmadan “tamamlandı” olamaz)
- Son tarih hesaplamaları zaman dilimleri ve yaz saati değişimleri boyunca doğru mu?
- Yeniden atamalar: yeni atama geçmişi üzerine yazıyor mu yoksa yeni kayıt mı oluşturuyor?
Gerçek risklere uygun güvenlik testleri
İzinleri farklı açılardan test edin: doğrudan URL erişimi, API çağrıları, dışa aktarımlar ve yalnızca adminlerin yapması gereken eylemler. Dosya yüklemelerde kötü amaçlı dosyalar ve aşırı büyük yükler için test yapın; giriş ve rapor uç noktalarında rate limiting gibi kötüye kullanım korumaları ekleyin.
Ağır gelen yerlerde performans testi
Rapor oluşturma ve büyük kullanıcı listeleri üzerinde performans testleri çalıştırın—özellikle bölüm, tarih aralığı ve “geciken” filtrelerinde. Zirve zamanları (çeyrek sonu hatırlatmaları gibi) simüle edin ve dışa aktarmaların zaman aşımına uğramadığından emin olun.
Denetime odaklı basit test planı
Kapsam, gerekli kanıt ve kabul kriterlerini içeren kısa bir plan belgeleyin: (1) atama oluşturma, (2) hatırlatmaların teslimi, (3) tamamlanma ve sertifika verilmesi, (4) denetim günlüğü bütünlüğü, (5) raporlama doğruluğu. Test sonuçlarını ve örnek dışa aktarımları saklayın ki kanıtı hızlıca yeniden üretebilin.
Uygulamayı Yayınlayın, İzleyin ve Bakımını Yapın
Bir uyumluluk eğitim uygulaması gönderildiğinde iş bitmez. Dağıtım ve işletim, hatırlatmaların gitmesi, sertifikaların doğrulanabilir kalması ve denetim kanıtlarının gerektiğinde erişilebilir olması açısından doğrudan etkilidir.
İşletebileceğiniz bir dağıtım stilini seçin
Ekip Docker kullanıyorsa konteyner tabanlı dağıtım (Kubernetes, ECS vb.) taşınabilirlik ve öngörülebilir ortam sağlar. Daha az altyapı yönetimi istiyorsanız yönetilen bir platform (PaaS) küçük ekipler için daha uygun olabilir—yama ve ölçek büyük ölçüde sağlayıcı tarafından ele alınır.
Hangi yolu seçerseniz seçin, dağıtımları tekrar üretilebilir tutun: sürümlü yayımlar, ortam bazlı konfigürasyon ve net bir geri alma planı.
Arka plan işlerini ilk sınıf yapın
Hatırlatmalar, zamanlanmış atamalar ve rapor dışa aktarımlar genellikle arka plan işidir. Bunları kritik yol olarak ele alın:
- makul sınırlar ile yeniden denemeler (spam yapmaktan kaçının)
- adminin neyin başarısız olduğunu görebilmesi için iş durumunu saklayın
- iş kuyruğunun büyümesi, tekrar eden hatalar ve uzun çalışma süreleri için alarm kurun
- büyük raporların zaman aşımına uğramaması için enstrümantasyon ekleyin
Yedekler, geri yüklemeler ve denetim kanıtı
Yedekler en çok test edildiğinde önemlidir. Veritabanı yedeklerini otomatikleştirin, güvenli saklayın ve restore tatbikatları planlayın. Eklenen dosyaları (politika PDF’leri, kanıt yüklemeleri) de dahil edin ve saklama politikalarına dikkat edin ki denetim için gereken kayıtlar yanlışlıkla silinmesin.
Risk uyumlu izleme
Uptime ve performansın yanı sıra şunları izleyin:
- uygulama hataları (sürüm etiketleriyle)
- e-posta/SMS teslimi (bounce, bloklanan domainler)
- arka plan iş başarısızlıkları ve kuyruk gecikmeleri
Sürekli bakım
Sık güncellemeler planlayın: eğitim içerik yenilemeleri, politika değişiklikleri ve denetçilerin/İK’nın isteyeceği yeni raporlar. Geri bildirimi uygulama içinde toplayın (admin notları veya istekler) ve paydaşların neler değiştiğini anlaması için hafif bir değişiklik günlüğü tutun.
SSS
What’s the first step in building a compliance training web app?
Önce kullanıcıların kim olduğunu (İK, uyumluluk/hukuk, yöneticiler, çalışanlar, taşeronlar) ve denetimler için hangi kanıtları üretmeniz gerektiğini tanımlayın.
Ardından bir MVP belirleyin: atama takibi, zaman damgalı tamamlamalar, sertifikalar ve basit bir “kim gecikti?” raporu.
What core data entities should the app store?
Güçlü bir temel veri modeli şunları içermelidir:
- Kullanıcılar, roller
- Kurslar, dersler (ve isteğe bağlı quizler)
- Atamalar (son tarihler, kurallar)
- Tamamlamalar (zaman damgaları, skorlar/denemeler, onaylar)
- Sertifikalar (oluşturulmuş kanıt)
Raporlarda görünmesi gerekiyorsa, serbest metin olarak bırakmayın; gerçek bir alan olarak modelleyin.
How do I handle onboarding, annual refreshers, and role-based training rules?
Bunları açıkça modelleyin:
- Onboarding: işe başladıktan X gün sonra tamamlanmalı
- Yıllık/tekrar eden: sona erme + yenileme döngüsü
- Rol tabanlı: işe göre/konuma/girişe göre atanır
Son tarihin nasıl hesaplandığını, tekrarın tamamlanma tarihine mi yoksa sabit takvim tarihine mi bağlandığını ve birinin rolü değiştiğinde ne olacağını tanımlayın.
How should roles and permissions be designed for compliance training?
Küçük bir rol seti kullanın (admin, uyumluluk yetkilisi, yönetici, öğrenen, denetçi) ve bunları belirli eylemlere çevirin (atan, içeriği düzenle, raporları görüntüle, tamamlamaları geçersiz kıl).
RBAC'i sunucu tarafında zorunlu kılın ve yöneticileri ekipleriyle (bölüm/konum) sınırlayarak gereksiz veri görünümünü önleyin.
What should be included in an audit trail?
Aşağıdaki olaylar için denetim izlerini zorunlu yapın:
- İçerik düzenlemeleri ve versiyon yayınları
- Atama oluşturma ve son tarih değişiklikleri
- Muafiyetler/feragatlar ve tamamlamayı geçersiz kılmalar
- Sertifika yeniden düzenlemeleri
- Yetki değişiklikleri ve rapor indirmeleri
Oyuncu, zaman damgası, eski vs yeni değerler ve ilgili olduğunda gerekçe saklanmalı.
How do I version training content without breaking completion history?
İçerik güncellemelerini versiyonlar olarak ele alın:
- Eski versiyonları kanıt için salt-okunur tutun
- Yeni bir versiyon yayınlayın, geçmiş tamamlamaları yeniden yazmayın
- Gerekirse politika değişiklikleri için yeniden eğitim tetikleyin
Ayrıca öğrenenin hangi politika/versiyonu onayladığını kaydedin, böylece sertifikalar ve raporlar savunulabilir kalır.
How can assignments and reminders scale without spreadsheets?
Atamaları tek seferlik kararlardan ziyade kurallar olarak modelleyin: Kural → Hedef grup → Eğitim öğesi → Takvim.
Kaydetmeden önce “kim atanacak” önizlemesi ekleyin, hatırlatmaları ve yöneticiye eskalasyonları destekleyin ve yeniden atamaları yeni kayıtlar olarak tutarken önceki deneme geçmişini koruyun.
What progress and completion data should be tracked for audits?
Denetimler için uygun veriler:
- Başlama ve tamamlama zaman damgaları
- Quiz sonuçları (skor, geçti/geçmedi, eşik, denemeler)
- Politikaya/versiyona bağlı onaylar
- Gerekliyse harcanan süre (yalnızca gerekçeli ise)
Ham olayları mümkün olduğunca değiştirilmez tutun ve “güncel durum”u bunlardan hesaplayın.
How should certificates be generated and managed?
Tamamlama üzerine otomatik sertifika üretin. Şunları içermelidir:
- Birleştirme alanlı şablonlar (isim, kurs, tamamlama tarihi, sertifika ID, veren)
- Sona erme tarihleri (sabit veya göreli, örn. 12 ay)
- Yeniden sertifikalandırma kuralları (sona ermeden önce otomatik atama)
Sertifikalara öğrenen profili ve tamamlanma kaydından kolay erişim sağlayın.
Which integrations matter most (HRIS, SSO, notifications), and how do I avoid sync issues?
Öncelikli entegrasyonlar:
- HRIS personel senkronizasyonu (kalıcı çalışan ID'si, e-posta yerine)
- SSO (SAML/OIDC)
- E-posta ve isteğe bağlı Slack/Teams hatırlatmaları
Hatalar için manuel CSV yükleme, uyuşmazlık inceleme kuyruğu ve net senkron günlükleri sağlayın. Birçok sistem ana olaylar için webhook'lar ve geceyi kapsayan uzlaşma senkronu kullanır.