Comment Module For Advanced Project
Hazırlayanlar:
180202059 - Hüseyin Yılmaz
180202092 - Yağız Türer
180202093 - Akın Özbay
Modüller:
yagiztr/yii2-movie
huseyinyilmaz/yii2-comment
xedeer/yii2-watchlist
Yukarıda belirtilen modüller ayrı ayrı yüklenmiş olsa da hepsi aynı derecede ortak katkıyla yazılmıştır, birlikte notlandırılması rica olunur.
Movie modülü, diğer iki modül olmadan da çalışmaktadır ancak film sayfalarında yorum ve izleme listesi özelliğinin çalışması için diğer iki modül de kurulmalıdır.
Diğer iki modül ise yüklenirken movie modülünü otomatik olarak kurmaktadırlar.
Tüm özelliklerin düzgün çalışması için bu üç modülün birlikte kurulması gerekmektedir.
PHP 7 sürümlerinden birini gerektirir. Tüm modüllerin düzgün kurulması için advanced projesi indirildikten sonra önce şu iki komutla proje başlatılmalıdır:
php requirements.php
php init
Daha sonra da bu komutlarla modüller kurulmalıdır:
composer require yagiztr/yii2-movie "dev-main"
composer require huseyinyilmaz/yii2-comment "dev-main"
composer require xedeer/yii2-watchlist "dev-main"
Böylece tüm modüller kurulmuş olur.
Bu modüller kurulduktan sonra, projede tanımlı isme sahip bir veritabanınız olduğunu doğrulayın ve daha sonra aşağıdaki komutla projenizin ana tablolarını yükleyin:
php yii migrate
Daha sonra da aşağıdaki komutla üç modül için de gerekli tabloları oluşturabilirsiniz:
php yii migrate --migrationPath=@vendor/yagiztr/yii2-movie/src/migrations/
Bunun sonucunda tablolar oluştuğu gibi demo amaçlı dört adet de film tanımlanacaktır.
Daha sonra, frontend dizinindeki config klasöründe yer alan main.php dosyasının return arrayine şu girdi eklenerek modüller uygulamaya tanıtılmalıdır:
"modules" => [
"movie" => [
"class" => "yagiztr\movie\Module"
],
"comment" => [
"class" => "huseyinyilmaz\comment\Module"
],
"watchlist" => [
"class" => "xedeer\watchlist\Module"
]
],
Bundan sonra modüller uygulamaya tanıtılmış olur.
Eğer ki proje URL biçimlendirilmesinde bir düzenleme yapılmadıysa http://alanadi/frontend/web/index.php?r=movie adresine giderek film listesi görüntülenebilir. Burada kategoriye göre film listeleme, isme veya yapın yılına göre film arama gibi özellikler bulunmaktadır. Bu açılan sayfadan yeni bir film girdisi oluşturulabileceği gibi her satırın sonunda bulunan işarete tıklanarak filmin sayfasına gidilebilir. Film sayfasında filmin konusu, yapım yılı, ismi, posteri gibi bilgiler görüntülenebileceği gibi, diğer iki modül de kurulduysa film listesi ve yorum özellikleri de kontrol edilebilir. Eğer ki bu iki modülden biri kurulmadıysa, ilgili alanda durumu açıklayan bir uyarı görünmektedir. Ayrıca filmler düzenlenebilir ve kategori gibi bilgileri yeniden belirlenebilir.
Yorum modülü, kullanıcının yorumlarını listeleme özelliği hariç ayrı sayfalarda kullanılmak üzere tasarlanmadı. Yine URL biçimlendirmesinde bir düzenleme yapılmadıysa, siteye giriş yaptıktan sonra http://alanadi/frontend/web/index.php?r=comment sayfasına giderek kendi yaptığınız yorumları listeleyebilir ve film sayfalarına gidebilirsiniz. Eğer ki giriş yapmamış olsanız dahi film sayfalarında diğer kullanıcıların yaptığı yorumları görüntüleyebilirsiniz. Ancak yeni bir yorum paylaşmak veya diğer kullanıcıların paylaştığı yorumları beğenmek için siteye giriş yapmış olmanız gerekmektedir. Ayrıca yorumları yalnızca paylaşan kullanıcı silebilmektedir. Bir yorum beğenildiğinde sayfa yenilenmez, bunun yerine anlık olarak beğeni sayısı güncellenir ve bu işlem sırasında bir hata olduysa uyarı penceresi gözüküp hata sebebini kullanıcıya bildirir.
İzleme listesi modülü ise yalnızca giriş yapmış kullanıcıların faydalanabileceği bir özelliktir. Yine URL biçimlendirmesinde bir düzenleme yapılmadıysa, siteye giriş yaptıktan sonra http://alanadi/frontend/web/index.php?r=watchlist adresine giderek daha önceden oluşturduğunuz film listeleri görüntülenebilir. Yalnızca o anda giriş yapmış olan kullanıcının listeleri görünür. Bu sayfadan daha önce oluşturduğunuz listelerin sayfasına gidebileceğiniz gibi yukarıdaki butona tıklayarak yeni bir film listesi de oluşturabilirsiniz. Herhangi bir listenin sayfasına girildiğinde o listeye eklenmiş filmler listelenir ve doğrudan film adına tıklanarak filmin sayfasına erişilebilir. Ayrıca film sayfalarında o anda görüntülenen filmi listeye ekleme ve listeden çıkarma özelliği bulunur. Yine burada yalnızca kendi listeleriniz üstünde işlem yapabilirsiniz. Daha önce filmi eklediğiniz listeler ayrı bir alanda, eklemediğiniz listeler ise ayrı bir alanda görünür. Çoklu seçim ile listelere filmi ekleme veya listeden çıkarma işlemleri yapılabilir.
Index sayfasında filmler bu şekilde listelenmektedir, film yaratma, filmi düzenleme ve görüntüleme seçenekleri etkinleşmektedir, ayrıca yıla ve isme göre arama da vardır:
Kategori seçildiğinde yalnızca o kategoriye ait filmler listelenir:
Film düzenleme sayfasında istendiği kadar kategori seçilebilir:
Film yaratma sayfasında da kategori seçimi, poster linki belirtme gibi özellikler vardır:
Diğer modüller yüklü olmadığı takdirde film bilgileri böyle görüntülenmektedir:
Diğer modüller yüklü olduğunda ise tüm özellikler aktif olmaktadır:
Giriş yapılmadığında index sayfası şöyle bir uyarı vermektedir:
Giriş yapıldığında da kullanıcının yaptığı yorumlar böyle gözükmekte, film adına tıklanarak film sayfasına gidilebilmekte ve yorum doğrudan listeden silinebilmekte:
Film sayfasında hiç yorum yoksa durumu belirten bir yazı çıkmaktadır:
Giriş yapılmadığında film sayfasında başkasının yorumları görüntülenebilmekte ama beğenme ve yeni yorum yapılamamaktadır:
Kendi yorumlarımızda yorumu silme seçeneği de aktifleşmektedir:
Başkalarının yorumları beğenilebilmekte ancak silme seçeneği etkisiz kalmaktadır:
Beğendiğimiz yorumlarda beğeni butonunun rengi değişmektedir:
Giriş yapılmadığında izleme listesi özelliği devre dışı kalmaktadır ve index sayfasında şu uyarı çıkmaktadır:
Giriş yapıldığında daha önce yarattığınız izleme listeleri görüntülenebilir, yeni liste yaratılabilir, listeler silinebilir ve düzenlenebilir:
Yeni liste yaratmak için isim girmek yeterlidir:
Bir film listesi görüntülendiğinde listede ekli olan filmler listelenir, bu sayfadan filmler silinebilir ya da filmin adına tıklanarak filmin sayfasına gidilebilir:
Film sayfasında filmin ekli olduğu listeler ayrı, ekli olmadığı listeler ayrı yerlerde listelenir, bu listeler aracılığıyla filmle izleme listelerine eklenebilir veya izleme listelerinden çıkarılabilir.
Eğer hiç izleme listesi yaratmadıysanız iki listede boş olacaktır: