omu / nokul

The Nokul Project
https://nokul.omu.sh/
GNU General Public License v3.0
46 stars 3 forks source link

uc-0001 Admin olarak ilgili birime ders ekle #284

Closed abdagli closed 6 years ago

abdagli commented 6 years ago

Use case dokümanı: uc-0001-ders-ekle Açıklama:

Admin olarak ilgili birime ders eklemek istiyorum

Kontrol listesi

isubas commented 6 years ago

Ders eklenirken derslerin türlerinin de belirtilmesi gerekiyor. YOK'ün eğitim fakülteleri için yayınladığı yeni müfredatlarda A: Alan ve alan eğitimi dersleri, MB: Öğretmenlik meslek bilgisi dersleri, GK: Genel kültür dersleri gibi ders türleri bulunmaktadır.

Eğitim fakültesi için yeni müfredatlar: YÖK Müfredat Listesi Örnek Müfredat: BÖTE Müfredat

abdagli commented 6 years ago

@isubas Dogrudur. Bu tarz baska eklemeler de var ama suanda UC'imizde yok. O yuzden simdilik dikkate almayalim onu. Bir sonraki itirasyonda ekleriz.

roktas commented 6 years ago

@abdagli bir sonraki iterasyonda ekleneceğini nasıl hatırlayacağız? yani UC nasıl gelişecek? örneğin UC'nin bu haline bir tür versiyon verip geliştiricilere "feature freeze" yaptık, bu iterasyonda sorumlu olduğunuz özellikler şunlar gibi bir şey mi diyeceğiz?

abdagli commented 6 years ago

@roktas ilgili duzenlemeyi po/wip uzerinde direk yapacagiz. po/master'a merge yapildiginda diff alinip aradaki farklara gore feature issue'lari acilacagi icin, orada bu fark gorunecek. Farkli bir onerisi olan var mi?

abdagli commented 6 years ago

Bu arada @ekural ve @begum ilgili mockup ve UC'leri guncelleyelim.

roktas commented 6 years ago

@abdagli po/wip makul bir çözüm. peki örneğin @isubas'ın hatırlatması üzerine yapılması gereken bu eklemeleri tekrar nasıl hatırlayacaksınız? bu iş kaydına dönerek mi? başka bir şekilde mi?

P.S. Genel bir senaryo olarak soruyorum, yukarıdaki güncelleme comment'inin de bir şekilde düşülmediği halleri hesaba katarak.

abdagli commented 6 years ago

Bu case'de surecimiz soyle isliyor

Bu arada UC uzerinde guncelleme yapildiysa (ki buradaki ornekte oyle), bunun icin de yeni bir feature issue'su acilacak. Yani acilan feature issue'larinda olumcul bir durum olmadigi surece guncelleme olmayacak. Her guncelleme yeni bir issue olarak gelecek. Cunku yeni gelen update'leri farkli bir developer da yapabilir. O bizim icin yeni bir feature artik. Ayni ekranlari ya da UC'leri etkileyebilir. Farketmez.

abdagli commented 6 years ago

Not 1: Diller konusu daha önce tartışılmış sanırım ve bu tartışma sonucu bu şekilde yapılması kararlaştırılmış. Ancak biz product takımı olarak konuyu kendi içimizde de değerlendirdik. Diller diye ayrı bir model kullanılması kafa karışıklığına sebep olacaktır. Ayrıca raporlamalarda, dil bilgisinin tek bir yerden çekiliyor olması işimizi kolaylaştıracaktır. Gerekirse Almanca (%30) gibi değerler gizlenir ileride ama şuanda ona da gerek yok. Diller doğrudan referanslardan çekilmeli.

isubas commented 6 years ago

Bu dilleri referans modelinden çekemem, çünkü referans modeli birim dillerini tutuyor. Burada bir karmaşa oluşuyor.

abdagli commented 6 years ago

Bu dilleri referans modelinden çekemem, çünkü referans modeli birim dillerini tutuyor. Burada bir karmaşa oluşuyor.

@isubas Bu konuyu daha once konusmustuk, sanirim ayni konudan bahsediyorsun. Diller icerisinde %30 gibi ifadeler var. Bu cok az sayida. Gerikirse ileride bunlari bir sekilde scope'layarak ayirabiliriz. Ancak zaten bir dil mekanizmasi varken, ekstra bir dil modeli yapmak kullanici acisindan kafa karistirici geliyor bana. Teknik acidan bir engel yoksa, bahsettigin problemi ilerleye safhalarda cozebiliriz. Dil bilgisinin YOKSIS'ten gelen dillerden cekilmesi bence daha uygun ve dogru bir secenek. @omu/product siz ne dusunuyorsunuz?

msdundar commented 6 years ago

Gerikirse ileride bunlari bir sekilde scope'layarak ayirabiliriz. Ancak zaten bir dil mekanizmasi varken, ekstra bir dil modeli yapmak kullanici acisindan kafa karistirici geliyor bana.

Bunlar teknik detaylar ve gaz vermek için söylemiyorum ekipteki geliştirici arkadaşlar oldukça tecrübeli. Benzer konuşmaları sıkça gördüğüm için not düşmek istedim, bunları geliştirici düşünmeli, ben düşünmeliyim. Modelmiş, veritabanıymış, scope'muş - product ekibiyle bunları konuşmuyor olmalıyız.

@isubas Buradaki engel nedir? Hatırlamak için yazıyorum - iki tane model vardı, biri Language - bu iso kodlarına göre evrensel dillerin tutulduğu model, diğeri ise UnitInstructionLanguage - bu da YOKSIS'ten gelen dillerin tutulduğu. Dersler için Language modelini kullanmanın bir sakıncası var mı?

abdagli commented 6 years ago

@msdundar aynen katılıyorum. Zaten biz de product takımı olarak bu bilginin YÖKSİS ten gelmesini talep ediyoruz ve teknik bir engel olmadığı sürece bu konuda ısrarcıyız. Buna product ekibi karar verdi.

isubas commented 6 years ago

@abdagli abi şimdilik dil modelini değiştirmiyoruz. Sistemde iki dil olacak, zaten iki dil modelininde yaptıkları işler farklı, derslerin bir dili var önemli olan o.

isubas commented 6 years ago

Ders kodu, birim ön ekiyle prefixlenmeli

İlgili durum için, birim kodların nasıl oluşturulacağı kararlaştırıldığında gerekli düzenleme yapılacak.

abdagli commented 6 years ago

Bunlar teknik detaylar ve gaz vermek için söylemiyorum ekipteki geliştirici arkadaşlar oldukça tecrübeli. Benzer konuşmaları sıkça gördüğüm için not düşmek istedim, bunları geliştirici düşünmeli, ben düşünmeliyim. Modelmiş, veritabanıymış, scope'muş - product ekibiyle bunları konuşmuyor olmalıyız

Gerikirse ileride bunlari bir sekilde scope'layarak ayirabiliriz.

Bu teknik bir konusma degil bana gore @msdundar . Sadece ortak dilde konusabilmek adina scope diye bir terim kullandim. Demek istedigim gerekirse bazi dilleri gizleriz. Bu gizleme de bir UC ile yapilir ileride. Dolayisiyla yine bir yerinden product takimiyla ilgili.

@abdagli abi şimdilik dil modelini değiştirmiyoruz. Sistemde iki dil olacak, zaten iki dil modelininde yaptıkları işler faklı, derslerin bir dili var önemli olan o.

Bizim olusturdugumuz UC belli. Gerekcemiz de belli. Ileride gerekli raporlamalar yapabilmek, ayni datanin tekrarli bir sekilde tutulmasini onlemek icin, hali hazirda var olan dil datasini kullanalim istedik. Bu da bir UC konusu. Ben developer'larin isine karistigimi dusunmuyorum. Ama bu sekilde yaparak, developer ekibi UC'de net bir degisikligi, onaylamamamiza ragmen yapmis oluyor. Son karariniz ekip olarak buysa benim diyecek birseyim yok, kavga ciksa bizden kalabaliksiniz :D Ama benim fikrim degismedi bu konuda. @omu/product ekibiyle de istisare edecegim simdi.

roktas commented 6 years ago

Buradaki muhabbeti anlamaya çalışıyorum, bana yardımcı olun :-)

Ürün olan "Ders Ekle Formu"nda bir dil alanı var. @omu/product der ki görüntülenen bu dil YÖKSİS'de tanımlanan ile aynı olmalı. Product ekibinin işi bu noktaya kadar. Gerçeklenmesi, yani görüntülenen dilin uygulamada hangi modelden geldiği vs product ekibinin değil geliştirici ekibinin işi. @abdagli kaç model olduğu vs sizi niye ilgilendiriyor? (Anlamak için soruyorum, hesap tonunda algılanmasın) Görüntülenen dil hatalıysa bu düzeltilir. Açıkçası konunun bir gerçekleme detayı olan modeller üzerinden yürümesini anlayamıyorum.

msdundar commented 6 years ago

Şimdi umarım benim uykusuz oluşumdandır, ben senin mesajlarını sert algılıyorum. Talep ediyoruz, ısrarcıyız, biz karar verdik - gibi köşeli cümleler kuruyorsun.

Diller diye ayrı bir model kullanılması kafa karışıklığına sebep olacaktır. Ayrıca raporlamalarda, dil bilgisinin tek bir yerden çekiliyor olması işimizi kolaylaştıracaktır. Gerekirse Almanca (%30) gibi değerler gizlenir ileride ama şuanda ona da gerek yok. Diller doğrudan referanslardan çekilmeli. Bu bilginin YÖKSİS ten gelmesini talep ediyoruz ve teknik bir engel olmadığı sürece bu konuda ısrarcıyız.

Birincisi sizin modeller ile işiniz yok, kaç tane model olduğu, bunların birbiriyle nasıl ilişkili olduğu vs. uygulamanın mimarisiyle ilgili bir şey. Burada geliştirici arkadaşların da hatası var, product ekibiyle mimari tartışmasına niye girilmiş anlamadım.

İkincisi YÖKSİS'ten gelen diller diye bir bilgi yok. Bunlar İrfan'ın dediği gibi birimlerin dilleri ve dersler konseptine uymuyorlar - ancak biz başka yerlerde kullanıyoruz . Yani sizlik bir durum yok. Product'ın söyleyebileceği olası cümleler şöyle şeyler olabilir:

vb.

Özetle 'bir dropdown olacak, ben oradan dil seçeceğim' derseniz İrfan bunu size sağlayacak.

abdagli commented 6 years ago

Beni tamamen yanlis anladiginizi anliyorum suanda. Benim modelle felan isim yok. Belki de model kelimesini kullanmam kafalari karistirdi. Daha dikkatli olacagim.

Burada developer ekibinin onerdigi yontem, fonksiyonaliteyi degistiriyor. Ben diyorum ki; sistemde ayrica dil tanimlama ekrani felan olmasin. Zaten diller tanimli. Ders ekleme ekraninda YOKSIS'ten gelen bu diller kullanilsin.

Developer ekibi diyor ki; YOKSIS'ten gelen verilerde %30 Ingilizce gibi bir iki tane data var. Bu datalar dersler icin uygun degil, cunku %30 Ingilizce ders olmaz. O yuzden tamamen ayri ekranlarda, YOKSIS'ten gelen datada farkli olarak dil tanimlamasi yaptiracagiz ve ders tanimlarken bunlar arasindan secim yapacaksiniz.

Ben de diyorum ki; bu kafa karisikligina sebep olacak. Ayrica dil tanimlama ekrani istemiyorum. Boyle bir ekran olmamali. Diller zaten sistemde var oradan cekelim diyorum. YOKSIS'teki haliyle kullanalim. Dil bilgisi oradan gelmeli. Buna ek olarak sadece, developer ekibini rahatsiz eden %30 Ingilizce gibi bir iki data'nin da bu ekranda gorunmesi. Burada ileride saklariz diyebilmek adina scope kelimesini kullandim.

Bu kelimeyi kullandigim icin hemen teknik sizin isiniz degil, buralara girmeyin gibi bir uyari aldim. Ben de UC'de net olarak belirtilmis birseyi degistirmemelisiniz dedim.

abdagli commented 6 years ago

@omu/product ile de gorustum. “Product ekibi olarak bu bilginin YOKSIS verilerinden gelmesini istiyoruz. Ama suanda onemi yok, ileride sorun yasatirsa tekrar hatirlatiriz.” gibi bir sonuc cikti. Benim dusuncem ise biraz farkli. Sonucta orada ayri bir ekran gorecegim ve verileri elle girmek zorunda kalacagim. Ekip ne derse o 😊 Ama UC'lere isin bu asamasinda karisilmasi son derece rahatsiz etti. Ozellikle sadece scope ve model terimlerini kullandigimdan oturu uyari almis oldum. Ben fikrimi soyledim. Cogunluk ne derse o zaten. Sorun yok benim icin.

msdundar commented 6 years ago

Beni tamamen yanlis anladiginizi anliyorum suanda.

Şimdi Abdullah sürekli aynı sebepten dolayı yanlış anlaşılıyorsun, demek ki burada ufak bir değişiklik yapman lazım.

Ben diyorum ki; sistemde ayrica dil tanimlama ekrani felan olmasin.

Sen böyle bir cümle hiç kurmadın bu yazışmada. İstediğin ekranı gizleyebiliriz.

Ayrica dil tanimlama ekrani istemiyorum. Boyle bir ekran olmamali. Diller zaten sistemde var oradan cekelim diyorum.

Sen böyle bir cümle hiç kurmadın bu yazışmada. Dediğim gibi istediğin ekranı gizleyebiliriz. Dil tanımlama ekranı görmeyeceksiniz. Kaldı ki zaten tanımlanacak bir dil yok, uygulama ayağa kalkarken tüm data (Adigece'den tut, Afarca'ya kadar 155 dil) otomatik yükleniyor. Şuan bol bol ekran var, debug modu gibi düşün - görülsün diye var bunlar - yoksa bir anlamları zaten yok.

Benim dusuncem ise biraz farkli. Sonucta orada ayri bir ekran gorecegim ve verileri elle girmek zorunda kalacagim.

Bunları sen mi girdin de manuel veri girmek zorunda kalacağını düşündün? => https://dev.nokul.omu.sh/languages

@omu/backend herkese net bir şekilde hatırlatıyorum, mimari kararlar alırken, modelleme yaparken diğer geliştiriciler ve benimle mutlaka görüşün, fikir alın. Modellere verilen bazı isimleri beğenmedim. Bundan sonra sisteme yeni model eklerken birbirimizle daha sık görüşelim, beyin fırtınası yapalım. Ek: hatta müsait vaktini yakalyıp @roktas hocadan da mutlaka fikir alın. Mimari konularda muhatabınız product ekibi değil, diğer geliştiricileri arkadaşlarınız.

abdagli commented 6 years ago

Üslubum için kusuruma bakmayın arkadaşlar. Farkında değilim durumun. Konuyu uzatmaya da gerek yok sanırım. Fonksiyonalite sağlandıktan sonra önemi yok.

roktas commented 6 years ago

uygulama ayağa kalkarken tüm data (Adigece'den tut, Afarca'ya kadar 155 dil) otomatik yükleniyor. Şuan bol bol ekran var, debug modu gibi düşün - görülsün diye var bunlar - yoksa bir anlamları zaten yok.

@abdagli Bunu doğru anlamak lazım, ben anladığımı yazayım (yanlış veya eksikse düzeltin): Halihazırda Nokul sidebar bir tür model vitrini. Sistemdeki modellerle kendi başına CRUD yapabiliyorsunuz. Bu nihai ürün olmadığı gibi erken dönem bir ürün de değil. Sistemin modelleri oturduktan ve temel CRUD'lar tamamlandıktan sonra, belirli bir UX tasarımıyla parçaların tam etkileşimi başlayacak ve ön sayfa tamamen değişecek.

abdagli commented 6 years ago

@roktas aslinda tam olarak oyle degil hocam. Daha once @msdundar bu sidebar'in duzenlenmesi konusunda bir issue acmamizi istemisti. Biz de zaten bu sprint'te @wemrekurt'a ilgili issue'yu assign ettik. Yani sidebar'in toparlanmasi konusunda bir aksiyon aldik.

abdagli commented 6 years ago

Ilgili issue #339

roktas commented 6 years ago

339 sadece bir toparlama olarak görünüyor, "model vitrini" yorumum geçerli (bunu nokul eleştirisi adına yazmıyorum, sadece "şu an böyle bakmakta yarar var" düşüncesiyle yazıyorum).

abdagli commented 6 years ago

Selamlar @isubas

Yukarıda checklist'te yapılanları işaretleyebilir misini? Sanırım dil konusu dışında da yapılmayanlar var ya da deploy edilmedi. Örneğin birimler arasında programlar da geliyor şuanda. Checklist üzerinde yaptıklarını kapatırsan, nelerin yapılmış olduğunu ve neleri test edeceğimizi biliriz.

https://github.com/omu/nokul/issues/284#issuecomment-423464232