Merhabalar, bahsettiğiniz gibi projeler yapmadan dili tam olarak kavramış olmazsınız. İçerisinde SQL, HTTP Request, Zaman İşlemleri ve string manipülasyonları olan bir proje yapabilirseniz belirli bir seviyeye gelmiş olarak kabul edebilirsiniz kendinizi. Bunun için size bir soru cevap platformu yazmanızı tavsiye ederim. Detayları da anlatayım, ne yapacağınız konusunda yol haritanız belli olsun.



    [*] Sistemde basit olarak Anasayfa, giriş yapma, kayıt olma, profil ve soru detay sayfası bulunacaktır.
    [*]Anasayfada veritabanınızda yer alan bütün soruların başlıklarını ve soru içeriklerini listeleyin. (SQL İşlemi)
    [*]Anasayfada bir selectbox ile sayfada izin verilen sayıda kaydı görebilin. Örnek 5 kayıt seçildiyse veritabanından 5 kayıt dönsün. Veritabanından tüm kayıtları alıp PHP ile saydırmadan direkt olarak SQL sorgusundan 5 kayıt dönsün. (GET Request , SQL)
    [*]Yine anasayfada sayı selectbox'unun yanına zaman selectbox'ı da ekleyin. Son 1 saat, Son 6 saat gibi seçenekler ekleyin ve süreye göre veritabanından filtrelemeler yaparak veri çekin. (Zaman işlemleri, GET Request)
    [*] Soru detaylarını görmek için soruya tıkladığımızda soruya yorum yapabilelim. Bu yaptığımız yorumların sayısı anasayfada sorular listelenirken köşede yazsın. 3 yorum var gibi. (İlişkili SQL)
    [*]Sisteme soru ekleme ekranında soru içerisinde küfür varsa soru sisteme eklenilmez. Kullanıcıya soru içeriğini düzeltmesi için bilgi mesajı verilir. (POST Request, String Manipülasyonları)
    [*]Soru başlığı her zaman Title Case olmalı. Yani her kelimenin ilk harfi büyük harf olmalı. Kesinlikle başlıkta ilk harf harici büyük harf kullanılmamalı. Kullanıcı yanlış girse bile uyarılmadan düzeltilerek veritabanına eklenmelidir. (POST Request, String Manipülasyonları)
    [*]Soru sorulurken sorunun yayınlanma saatini seçmek ve o saatten sonra diğer kullanıcılara görünmesini istiyorum. Örneğin saat 18:30'u seçiyorum ve sorum saat 18:30'dan sonra diğer kullanıcıların önüne düşmeye başlıyor. (Zaman Manipülasyonu)
    [*] Kullanıcı sisteme üst üste 5 gün 10 gün veya 15 gün girdiğinde profilinde 5 , 10 ve 15 gün için rozet (resim) görünmeli. (Zaman İşlemleri)
    [*] 6 gün üst üste giren kullanıcı 10 ve 15 gün rozetleri için kalan ilerlemeyi progress bar ile profilde görebilsin. (Zaman İşlemleri)
    [*] Soru detay sayfasında yorum yapan kullanıcı ve yaptığı yorum görüntülenirken; eğer yorum yapan kullanıcı en fazla 1 haftalık üyeyse kullanıcının isminin yanında *New Member* yazısı görülsün . (Zaman İşlemleri)



Bazıları yeni başlayanlar için zorlayıcı olabilir. Ama bu şeylerin nasıl yapılacağını araştırın kendiniz. Soruların cevapları kesinlikle internette var. O yüzden fikriniz olmadığı durumlarda araştırın ve cevapları bulun. Sonradan yıllar geçse de mantığını bildiğiniz için unutmazsınız.


Kolay gelsin.