• Sonuç bulunamadı

WEB TABANLI ÖĞRENCİ PLATFORMU MESLEKİ PROJE RAPORU

N/A
N/A
Protected

Academic year: 2022

Share "WEB TABANLI ÖĞRENCİ PLATFORMU MESLEKİ PROJE RAPORU"

Copied!
27
0
0

Yükleniyor.... (view fulltext now)

Tam metin

(1)

T.C

İSTANBUL AREL ÜNİVERSİTESİ MESLEK YÜKSEK OKULU

WEB TABANLI

ÖĞRENCİ PLATFORMU

Eyüp ÇELEBİ – 181130058

BİLGİSAYAR TEKNOLOJİLERİ BÖLÜMÜ BİLGİSAYAR PROGRAMCILIĞI PROGRAMI

MESLEKİ PROJE RAPORU

DANMIŞMAN

Öğr. Gör. İsmail YANDIMKALDIM

İSTANBUL 2020

(2)

2

ÖNSÖZ

Bilimin ve bilgiye ulaşmanın öneminin giderek arttığı çağımızda, benim de bilime katkıda bulunmamda yardımcı olan, bilgisini benimle her zaman paylaşan ve desteğini benden esirgemeyen tez danışmanım sayın Öğr. Gör. İsmail Yandımkaldım’a teşekkürü bir borç bilirim.

Çalışmanın uygulamasının yapılmasında benden desteklerini esirgemeyen sevgili arkadaşlarım Muhemmet Enes ASKU’ya teşekkür ederim. Bu zorlu süreçte her zaman yanımda olup benden desteklerini esirgemeyen, beni motive eden başta arkadaşlarım ve ailem olmak üzere tüm öğretmenlerime çok teşekkür ederim.

MAYIS 2020 , İSTANBUL

(3)

3

İçindekiler

ÖNSÖZ ... 2

ŞEKİLLER ... 5

KISALTMALAR ... 6

BÖLÜM 1. ... 7

GİRİŞ VE AMAÇ ... 7

BÖLÜM 2. ... 7

GENEL BİLGİLER ... 7

2.1. Literatür Araştırması ... 7

2.2. Python Django Nedir ?... 7

2.2.1 MVT Nedir ? ... 8

2.2.2 Neden Django ? ... 8

2.2.3 Django’ yu kullanan Web Siteleri ... 9

2.3 Pycharm Nedir ? ... 9

2.3.1 Python İçin En İyi IDE Hangisidir ? ... 10

2.3.2 PyCharm’ın En İyi Özellikleri, Avantajları ve Dezavantajlar Nelerdir ? ... 10

2.3.3 PyCharm Versiyonlarıyla Arasındaki Farklar ? ... 10

2.4 Bulut Sunucu (CLOUD HOSTİNG) Nedir ? ... 11

2.4.1 DigitalOcean Nedir ? ... 11

2.4.2 Kullanım Kolaylığı... 12

2.4.3 SSD Disk ... 12

2.4.4 Ücretlendirme Avantajı ... 12

2.4.5 Distro Seçimleri ... 12

2.4.6 Tek Tıkla App Kurulumu ... 12

2.5 Domain Nedir ? ... 13

2.5.1 Domain Neden Önemlidir ? ... 14

2.6 Hosting Nedir ? ... 15

2.6.1 Hosting Ne Amaçla Kullanılır ?... 15

2.7 Nginx Nedir ? ... 16

2.7.1 Peki Ne İşe Yarar ? ... 16

2.7.2 Temel Özellikleri ; ... 16

2.7.3 Kıyaslama ... 16

2.7.4 Reverse Proxy (Ters Vekil Sunucusu) ... 17

2.7.5 Load Balancing (Yük Dengeleme) ... 17

3. ÇALIŞMALAR ... 18

3.1 Anasayfa Görüntüsü ... 19

(4)

4

3.2 Giriş Sayfası ... 20

3.3 Kayıt Olma Sayfası ... 20

3.4 Notlar Sayfası ... 21

3.5 Not Detay Sayfası ... 21

3.6 Sorular Sayfası ... 22

3.7 Sorular Detay Sayfası ... 22

3.8 Profil Sayfası ... 23

3.9 Ayarlar ... 23

3.10 Şifre Değiştirme Sayfası ... 24

3.11 Kaydettiklerim Sayfası ... 24

4. SONUÇLAR ... 25

KAYNAKLAR ... 26

(5)

5

ŞEKİLLER

Şekil 1. Pycharm Nedir ? ... 9

Şekil 2. DigitalOcean Nedir ? ... 11

Şekil 3. Domain Nedir ? ... 13

Şekil 4. En Çok Kullanılan Üst Düzey Domainler(2019) ... 14

Şekil 5. Nginx Reverse Proxy ... 17

Şekil 6. Anasayfa Görüntüsü ... 19

Şekil 7. Anasayfa Görüntüsü 2 ... 19

Şekil 8. Giriş Sayfası ... 20

Şekil 9. Kayıt ol Sayfası ... 20

Şekil 10. Notlar Sayfası ... 21

Şekil 11. Notlar Detay Sayfası ... 21

Şekil 12. Sorular Sayfası ... 22

Şekil 13. Sorular Detay Sayfası ... 22

Şekil 14. Profil Sayfası ... 23

Şekil 15. Ayarlar Sayfası ... 23

Şekil 16. Şifre Değiştirme Sayfası ... 24

Şekil 17. Kaydettiklerim Sayfası ... 24

(6)

6

KISALTMALAR

BSD = izin veren özgür yazılım lisansları ailesidir.

MVT = Model, View, Template MVC = Model, View, Controller IDE = Geliştirme Ortamı JS = JavaScripts CPU = İşlemci

IP = Internet Protocol Address

(7)

7

BÖLÜM 1.

GİRİŞ VE AMAÇ

Öğrencilerin bilgiye kolayca ulaştığı bu dönemde notlarının karmaşıklığına da yol açtığı gözlenmektedir. Ayrıca öğrencilerin notlarını barındırırken bazı aşamalarda zorlandığı kesindir.

Üniversitelerin rekabet ettiği bu dönemlerde okuyan öğrenci saayısında artışlar gözlemlenmektedir. Oluşan not fazlalığını ve düzenlemesini ortadan kaldırmak için diğer platformlara bakılarak bir değerlendirme yapılacaktır.

Öğrenciler yüklenilen ders notlarını en iyi şekilde temin etmek ve düzenli bir not tutma alışkanlığı kazandırmak. Ayrıca sürekli ders notlarını paylaştıkları zaman puanlar kazanmaktadırlar. Kazandıkları bu puanlarla haftalık/aylık belirlenen ödülleri kazanmaya hak kazanacaklardır. Ödül koyma amacımız öğrencileri bir nevi motive etmektir. Öğrencilerin stresli sınav süreçlerinden geçerken aynı zamanda ödüller kazanmaları onun için motive edici özelliğe sahiptir. Ortaya atılan bu projenin asıl amacı Öğrencilerin notlarını paylaştıkları ve birbirlerinin sorularına yardımcı oldukları yer. Yapıcı ve kapsayıcı bir sosyal ağ platformu haline getirmek.

BÖLÜM 2.

GENEL BİLGİLER

2.1. Literatür Araştırması

Udemyde ki Ozan Teoman Dayanan arkadaşımız paylaşmış olduğu videoadan super() class larıyla alakalı bilgiler toplanarak projemizde nasıl kullanabileceğimizi tasarlamak amacıyla bilgiler toplandı. Rekabet araştırması yapılırken karşımıza çıkan sitelerin anahtar kelimelerini göz önüne alarak web sitemiz için anahtar kelime hedeflemesi yaptık. Çeşitli hatalarla karşılaşmamız sonucu okumuş olduğumuz makaleler ve cevaplar yardımıyla Python hakkında çok daha farklı bilgiler kazandık.

2.2. Python Django Nedir ?

Django, Python Programlama Dili için hazırlanmış ve BSD lisansı ile lisanslanmış yüksek seviyeli bir web çatısıdır(framework). Basit kurulumu ve kullanımı, detaylı hata raporu sayfaları ve sunduğu yepyeni arayüz ile diğer sunucu yazılımı ve frameworklerden kendini ayrıştırmaktadır. İsmi, caz gitaristi Django Reinhardt’tan gelmektedir. Django Projesi’nin

(8)

8

temel amacı, karmaşık bir yapıda olan web uygulamalarının kullanımını kolaylaştırmaktır.

Django yeniden kullanılabilirlik, modülerlik, hızlı geliştirme süreci politikasına sahip bir yapıda tasarlanmaktadır. Django da ayrıca her projeye ait temel kayıt ekleme, silme, düzenleme ve güncelleme fonksiyonlarını bünyesinde barındıran dinamik bir yönetim paneli sağlar. Karmaşık veritabanlarından kurtulmak isteyenler için rahat kullanışlı bir web çatısıdır. Django, Python programlama dili ile yazılmış bir MVT mimarı yapısını kullanan, yüksek seviyeli ve açık kaynaklı(open source) bir web çatısıdır. MVT dediğimiz yapı ise Model, View ve Template şeklindedir. Django’nun geliştirme aşamasında bu yapıya dikkat edilerek kodlandığını bizlere göstermektedir.

2.2.1 MVT Nedir ?

Model-View-Template (MVT) MVC’den biraz farklıdır. Aslında, iki model arasındaki temel fark, Django’nun bizzat, Kontrolör(Controller) kısmına (Model ve Görünüm arasındaki etkileşimleri kontrol eden Yazılım Kodu) dikkat çekerek, bizi şablonla baş başa bırakmasıdır.

Şablon, Django Şablon Dili (DTL) ile karıştırılmış bir HTML dosyasıdır. Geliştirici modeli sağlar, görünüm ve şablon daha sonra onu bir URL’le eşler ve Django kullanıcıya yapıyı sunmak için işlemi tamamlar.

2.2.2 Neden Django ?

• Django basit bir şekilde kurulabilir ve rahatlıkla kullanılabilir.

• Detaylı bir şekilde hata raporları vermektedir. Detaylı bir şekilde verilen hataların arasından sorunu rahatlıkla çözmek daha kolay olmaktadır. Bu açıdan bakıldığında PHP diline göre hata raporundaki detay daha fazladır.

• Genişletilebilir bir yönetim paneline sahiptir. Django kurulduğu vakit kendine ait bir admin paneli gelmektedir. İlk başlarda temel işlemlerde oldukça işimize yarayan bu paneli istek ve arzularımıza göre geliştirebiliriz.

• Django kendini sürekli yenileyen bir Şablona sahiptir.

• Django güvenlik açısından oldukça iyi bir seviyede olan bir framework’dür.

(9)

9 2.2.3 Django’ yu kullanan Web Siteleri

• Disqus

• Instagram

• Knight Foundation

• Mozilla

• Natiol Geographic

• Pinterest ..

2.3 Pycharm Nedir ?

PyCharm, özellikle Python dili için bilgisayar programlamasında kullanılan entegre bir geliştirme ortamıdır (IDE). Çek şirket JetBrains tarafından geliştirilmiştir. Ayrıca PyCharm; Windows, macOS ve Linux sürümleri ile çapraz platformdur.

Şekil 1. Pycharm Nedir ?

(10)

10 2.3.1 Python İçin En İyi IDE Hangisidir ?

• Pycharm

• Spyder

• Pydev

• Idle

• Wing

• Eric Python

• Rodez

2.3.2 PyCharm’ın En İyi Özellikleri, Avantajları ve Dezavantajlar Nelerdir ?

Akıllı bir kod editörü, akıllı kod navigasyonu, hızlı ve güvenli yeniden düzenleme ile birlikte gelir. PyCharm, hata ayıklama, test etme, profil oluşturma, dağıtımlar, uzaktan geliştirme ve veritabanı araçları gibi özelliklerle entegredir. Python ile PyCharm ayrıca Python web development frameworks, JavaScript, HTML, CSS, AngularJS ve Live düzenleme özelliklerine destek sağlar. IPython Notebook, Python konsolu ve bilimsel yığın ile güçlü bir entegrasyona sahiptir. Fakat PyCharm, istemciye sağladığı özellikler ve araçlar göz önüne alındığında biraz pahalı bir araçtır. İlk kurulum zordur ve bazen arada kalabilir fakat kurulum adımları takip edilerek kolayca halledilebilir.

2.3.3 PyCharm Versiyonlarıyla Arasındaki Farklar ?

İki farklı versiyonu bulunan bir PyCharm versiyonlarından biri ücretsizdir biri ise ücretlidir.

Ücretsiz versiyonu olan PyCharm Community Edition, Apache 2.0 lisansı ile açık kaynaklı ve tamamen ücretsizdir. Bu sürüm de ana özellik seti saf Python kodlamasını destekleyerek ana işlevsellik ve tamamlayıcı özellikleri bu sürümde kullanılmaktadır.

Ücretli olan versiyonu Professional versiyonuna da cüzi bir ücretle satın alabilirsiniz. PyCharm nedir içerisinde bulunan tüm özellikleri kullanıma açıktır. Ticari amaçlarla kullanıma uygun olarak üstün araçlar ve özellikleri kullanıcılarına sunar. Ticari amaçlarda kullanım kolaylığı sunmasıyla bu alanda en çok tercih edilen versiyonudur

(11)

11

PyCharm’ın eğitim sürümü de bulunmaktadır. Bu versiyon EDU olarak isimlendirilir. Bu versiyonda tamamen ücretsiz ve açık kaynaklıdır. Community ile aynı özelliklere sahip olarak kullanımda bazı sınırlamaları vardır. Versiyonlar arasında bulunan sınırlamalar ufak farklar ile birbirinden ayrılmaktadır. PyCharm kullanım açısından sorun oluşturmayan sürümleri ile kullanıcıları için Python kullanımında kolaylık oluşturmayı amaç edinmektedir.

2.4 Bulut Sunucu (CLOUD HOSTİNG) Nedir ?

Digitalocean bir bulut sunucudur. Digitalocean’ın ayrıntılarına geçmeden önce bulut sunucular hakkında açıklama yapalım. Bulut sunucularda kaynaklar anlık olarak kontrol edilebilir.

Bağımsız Ram, CPU, disk alanı gibi özelliklere sahip olursunuz. Sunucunun barındıralacağı konumu kendiniz seçersiniz. Seçenekler arasında hızlı geçiş yapabilirsiniz ve kullandığınız kadar ücret ödersiniz.

Kaynak yetersizliği yaşadığınızda anında kaynak artırabilir ve web sitenizin devamını rahatlıkla sağlayabilirsiniz.

2.4.1 DigitalOcean Nedir ?

Şekil 2. DigitalOcean Nedir ?

Digitalocean bir bulut sunucu sağlayıcıdır. Bulut tabanlı altyapı sağlayıcısı olarak kendini konumlandıran, geliştirme, sürüm kontrolü ve test ortamları gibi birçok ihtiyaca cevap veren dünyanın en büyük bulut sunucu sağlayıcılarından biridir.

(12)

12

Digitalocean’da bulut sunucular Droplet olarak adlandırılır. Öncelikle bir Droplet kurarsınız.

Dropleti kurarken aslında size bir bulut sunucu verilmiş olur ve RAM, CPU, disk alanı gibi ihtiyaçlarınızı, sunucunun yer alacağı ülke ve şehri kendiniz belirlersiniz.

2.4.2 Kullanım Kolaylığı

Droplet adı altında ifade edilen bulut sunuculara Image ya da app tercihi, kapasite ve bölge seçiminizin ardından saniyeler içerisinde 1 dakikadan az bir sürede sahip olabilir, oluşturduğunuz dropletleri pratik bir şekilde kontrol edebilirsiniz. Ayrıca, API üzerinden de droplet kontrolleri gerçekleştirebilmektesiniz.

2.4.3 SSD Disk

Verileriniz performansı yüksek ve standart olarak sunulan SSD disklerde tutulmakta.

2.4.4 Ücretlendirme Avantajı

Aylık minimumda $5 (saatlik $0.007)’dan başlayan fiyatlarla kullanıma başlayabilirsiniz.

Droplet pasif olduğu durumlarda da veri barındırdığı için saatlik ücret işlemeye devam ediyor.

Image alıp droplet’i kaldırarak test kullanımlarını çok daha efektif bir fiyatlandırmayla sürdürebilirsiniz.

2.4.5 Distro Seçimleri

Oluşturacağınız droplet için Ubuntu, CentOS, Debian, Fedora, CoreOS gibi bir linux dağıtımlarının yanı sıra FreeBSD de seçebilirsiniz.

2.4.6 Tek Tıkla App Kurulumu

LAMP, LEMP, MEAN, Django, Ghost, WordPress ve Docker gibi tek tıklama ile popüler bir çok uygulama kurulumunu hızlıca gerçekleştirebilirsiniz.

(13)

13 2.5 Domain Nedir ?

Şekil 3. Domain Nedir ?

Domain (alan adı); hatırlanması zor olan IP adresleri yerine kullanılması için internet otoriteleri tarafından geliştirilen bir isimlendirme yöntemidir. Siteniz için seçtiğiniz ismin; .com, .net gibi bir uzantıyla kullanılan haline alan adı ya da domain denmektedir.

Domain için yapılabilecek en doğru tanımlardan biri de “sitenizin adı ve adresi” şeklinde yapılan tanımdır çünkü kullanıcılar sitenize alan adınızı kullanarak ulaşır.

İki ayrı web sitesinin aynı domaine sahip olması imkansızdır. Parmak izleri gibi benzersiz olan domainler; IP (Internet Protocol Address) numarası denen uzun ve hatırlaması zor sayılara karşılık gelir.

Yani domainler olmasaydı Google’a girebilmeniz için adres çubuğuna 64.233.191.255 gibi bir sayı yazmanız gerekecekti.

Milyarlarca internet kullanıcısını ve 300 milyondan fazla alan adını birbirine bağlayan DNS (The Domain Name System) denen sistem sayesinde tarayıcınıza girdiğiniz alan adı; ilgili IP adresine dönüştürülür. Böylece; ziyaretçilerin kullandığı bilgisayarlar; web sitesine ait içeriğin depolandığı sunucuyu bulabilir.

(14)

14 2.5.1 Domain Neden Önemlidir ?

Domain yani alan adınız; dijital dünyada nasıl aranacağınızı ya da nasıl bulunacağınızı doğrudan etkiler. Hakkınızdaki ilk izlenimi sunacağı için mutlaka zaman ayırarak, üstünde düşünülerek, özenle seçilmesi gerekir.

Domainler sizi ya da işinizi çok iyi derecede yansıtabilme fırsatı sunduğundan pazarlama stratejilerinde de çok işinize yarayabilir; ürünlerinize ve hizmetlerinize güven duyulmasını sağlayabilir. Ancak tam tersine domain için doğru bir seçim yapamazsanız marka bilinirliği açısından zorlanabilirsiniz de.

Hosting paketleri alan adınızı içeren e-mail hesapları da sunduğundan, Google, Yahoo, Hotmail gibi ücretsiz e-posta hesaplarını kullanmak yerine alan adınıza özgü mail hesapları kullanmak, sizin ve firmanızın daha profesyonel görünmesine ve mail adresinizin daha kolay hatırlanmasına neden olur.

Alan adı ve uzantısında, ilgili anahtar kelimelerin kullanılması; arama motorlarında daha iyi sıralamalar elde etmenize yardımcı olur.

Şekil 4. En Çok Kullanılan Üst Düzey Domainler(2019)

(15)

15 2.6 Hosting Nedir ?

Farz edelim bilgisayarınızda yeni bir döküman oluşturdunuz. Bu dökümanı saklamak için o dosyayı bilgisayarınızın diskine kayıt edersiniz ve bilgisayarınızı kapatırsınız. Peki bu dökümanın sizin web sayfanız olduğunu düşünün.

Web sayfalarınızı internet ortamında kendi bilgisayarınızda barındıramayacağınıza göre size çok güçlü, yedi gün yirmi dört saat hizmet verebilen ve her türlü yoğunlukta problemsiz web sitenizi hızlı bir şekilde yayınlamaya devam edecek bir bilgisayara ihtiyacınız var demektir. Bu bilgisayarlara teknik olarak sunucu denilmekte.

Hosting; kişi ve organizasyonlara ait web sitelerinin ve sayfalarının kesintisiz bir şekilde internet üzerinde yayınlanmasına olanak tanıyan, güçlü donanım ve yazılımsal web sunucularının birleşimi ile oluşturulmuş bir web sitesi yayınlama hizmetidir. Hazırlanan web sayfaları, kontrol panel üzerinden çeşitli dosya transfer yazılımları ile bu gelişmiş web sunuculara yüklenir, domain tanımlamaları yapılır ve yayına hazır hale getirilir. Bu hizmetin bir diğer adı da barındırma hizmetidir. Özellikle web sitesi tasarımcıları ve webmaster lar arasında web hosting olarak da adlandırılır. Hosting hizmeti sayesinde web siteleriniz dünyanın her yerinden 7 gün 24 saat erişilebilir hale gelir.

2.6.1 Hosting Ne Amaçla Kullanılır ?

En basit tabiriyle internette web sitenizi yayınlamak ve erişilebilebilir olmasını istiyor iseniz hosting hizmeti edinmeniz birinci gerekliliktir.

Farz edelim kendinize özel bir blog sayfası ile deneyimlerinizi insanlar ile paylaşmak istiyorsunuz. Ya da üretmekte olduğunuz bir ürünün internet üzerinden satışını gerçekleştirmek istiyorsunuz. Ya da kişilerin buluşup deneyimlerini paylaştığı, sosyalleştiği forum oluşturma niyetiniz var. Tüm bu hayaller için hosting hizmetine ihtiyaç duyarsınız.

Edinmiş olduğunuz bu hizmetin birçok özellikleri bulunmakta. Sayfalarınızın hızlı olması, sayfalarınıza yapılan olası saldırıların ve içerik kayıplarının önüne geçecek güvenlik yazılımlarına sahip olması, dünyanın her yerinden erişilebilir olabilmek için web sunucularının en kaliteli veri merkezleri üzerinden hizmet veriyor olması, web sayfalarınızda olabilecek veri kayıplarına karşı periyodik olarak verilerinizin yedeklenmesi hosting hizmetinin kalitesini de belirleyen temel özelliklerdir.

(16)

16 2.7 Nginx Nedir ?

Nginx Rus yazılım mühendisi Igor Sysoev tarafından mail.ru için yapılmış mail sunucusudur, fakat daha sonra geliştirilip tüm platformlarda kullanılabilir hale getirilmiştir.

2.7.1 Peki Ne İşe Yarar ?

Nginx özellikle yüksek trafikli ve yoğun istek girişi olan web siteleri için biçilmiş kaftandır.

Apache ve Lighttpd ile karşılaştırıldığında çok daha az cpu kullanır.

2.7.2 Temel Özellikleri ;

• Reverse Proxy (Ters Vekil Sunucusu),

• Load Balancing (Yük Dengeleme),

• Virtual Host (Sanal Sunucu),

• Statik ve index dosyalarının sunumu, otomatik indeksleme.

2.7.3 Kıyaslama

Nginx’in alternatifi olarak şu anda Apache HTTP Server ve Lighttpd gösterilmekte.

Alternatifleri ile karşılaştırıldığında %400 daha performanslı ve hızlı olduğu görülmekte. Ayrıca alternatiflerine göre çok daha az cpu kullanır.

(17)

17 2.7.4 Reverse Proxy (Ters Vekil Sunucusu)

Reverse proxy için istemciden gelen istekleri sunucu adına alan vekil sunucu diyebiliriz. Gelen istekleri karşılayarak sunucuya iletir ve dönen cevapları istemciye iletir.

Sağladığı Avantajlar ;

• Reverse proxy’ler sunucuların varlığını ve özelliğini gizleyebilir,

• İstemcileri web tabanlı saldırılara karşı koruyabilir,

• Reverse proxy’ler Web sunucuları üzerinden yükü azaltarak, web isteklerine hızlı bir şekilde cevap verebilir.

Şekil 5. Nginx Reverse Proxy

2.7.5 Load Balancing (Yük Dengeleme)

Load balancing server üzerindeki fazla yükleri diğer serverlara dağıtarak işlemlerin birden fazla makinede kısa sürede çözülmesini sağlar.

(18)

18

3. ÇALIŞMALAR

Web uygulamama başlamadan önce anahtar kelimelerle alakalı bazı sitelere göz atarak tasarımlarını inceleme fırsatı buldum. İncelediğim web sitelerinden yola çıkarak kendime uygun arayüz arayışına girdim. Arayüzü bulduktan sonra ilk işim kullanıcı ile ilgili bazı kritik noktalarda dokunuşlar yapmak oldu çünkü bu programın en önemli noktası kullanıcıları iyi yönetiyo olabilmemdi. Kullanıcı işlemlerini bitirdikten sonra not paylaşma, görüntüleme ve silme gibi işlemlere başladım ve sağlıklı sonuçlarla döndüm. Sorular kısmına başlarken aslında kod yapısı notlar bölümüyle kısmen aynı olsada biraz uğraş verdirdiği kesindi bu yüzden sorular kısmında biraz vakit kaybettim. Sorular ve notlar kısmını bitirdiğimde artık ufak tefek işlemler kaldığını farkettim ve kaydetme, yorum yapma, puanlama vb. özellikleri tek tek oluşturmaya başladım. Ara ara hatalar alsam da bulduğum bazı kaynaklar bana gerçekten yardımcı oldu ve herşeyi bitirdikten sonra arayüz üzerinde biraz uğraşmam gerektiğini farkettim. Arayüzdeki bazı geliştirmeleri yaparak sitenin hazır olduğunu varsaydım fakat tabikide böyle çalışmalar her zaman geliştrimeye açık ve beslenmeye ihtiyaç duyan şeylerdir.

(19)

19 3.1 Anasayfa Görüntüsü

Şekil 6. Anasayfa Görüntüsü

Şekil 7. Anasayfa Görüntüsü 2

Siteye girdiklerinde ilk karşılacakları açılış sayfası.

(20)

20 3.2 Giriş Sayfası

Şekil 8. Giriş Sayfası

3.3 Kayıt Olma Sayfası

Şekil 9. Kayıt ol Sayfası

(21)

21 3.4 Notlar Sayfası

Şekil 10. Notlar Sayfası

3.5 Not Detay Sayfası

Şekil 11. Notlar Detay Sayfası

(22)

22 3.6 Sorular Sayfası

Şekil 12. Sorular Sayfası

3.7 Sorular Detay Sayfası

Şekil 13. Sorular Detay Sayfası

(23)

23 3.8 Profil Sayfası

Şekil 14. Profil Sayfası

3.9 Ayarlar

Şekil 15. Ayarlar Sayfası

(24)

24 3.10 Şifre Değiştirme Sayfası

Şekil 16. Şifre Değiştirme Sayfası

3.11 Kaydettiklerim Sayfası

Şekil 17. Kaydettiklerim Sayfası

(25)

25

4. SONUÇLAR

Üzerinde bazı geliştirmeler yaparak yoluma devam ettiğim Öğrenci Platformumu artık yayına alma vaktinin geldiğini düşündüm ve domain ve bulut sunucumu kiralayarak işe başladım.

Nginx Server ve Unicorn kullanarak platformumu yayına almayı başardım. Yayına alırken bazı hatalarla karşılaştım ve kendimi bu konuda geliştirmeye koyuldum. Artık bir web sitem vardı ve dışarıdan kullanıcıların giriş yapması an meselesi haline geldi. Zaman zaman beklenmedik kod hatalarıyla karşılaşsamda üstesinden gelmeyi başardım. Kendimi ve sitemi hazır hissettikten sonra bazı sosyal platform aracılığı ile tanıştığım kişilere reklam verdirdim. Reklamlardan gerçekten güzel sonuçlar elde ettim ve insanlar artık web sitemi sevmeye başladılar. Web sitem günlük 200 tekil kişiye ulaşmayı başarmıştı. Google adsense başvurusu yaparak web sitemden gelir elde etmeye başlamak istiyordum. 1- 2 Hafta süre içerisinde Google reklam anlaşmam kabul edilerek web siteme reklam almayı başardım. Web sitesi geliştirmeye ve beslemeye açık bir platform olduğu için sürekli ilgi isteyen bir uygulama oldu o yüzden kullanıcı düşüşleri yaşasamda beni SEO çalışmalarına ikna etti. Bi kaç SEO çalışması yaptıktan sonra google da anahtar kelime bazınca 4. Sayfalara kadar geldiğim olmuştu. Şuan web sitem hali hazırda ilgi beklemektedir. Geliştirmeye ve beslemeye devam ediliyor.

(26)

26

KAYNAKLAR

[1].https://www.youtube.com/watch?v=uwVmWS1yJ1k&list=PLPrHLaayVkhny4WRNp05C1qRl1Aq3 Wswh

[2]. https://www.youtube.com/watch?v=JMl_kktdjjI&list=PLPrHLaayVkhk9_NtkgHFzdCq78MXega6o

[3]. https://www.youtube.com/watch?v=SjyNixoCgsA

[4]. https://docs.djangoproject.com/en/3.0/

[5]. https://tutorial.djangogirls.org/tr/

[6]. https://stackoverflow.com/questions/45846381/reverse-for-detail-with-keyword-arguments-id- 5-not-found-1-patterns

[7]. https://www.youtube.com/watch?v=abgxvrNqNkw

[8]. https://www.youtube.com/watch?v=FdVuKt_iuSI

[9]. https://docs.djangoproject.com/en/3.0/topics/signals/

[10]. https://www.youtube.com/watch?v=1XiJvIuvqhs

(27)

27

ÖZGEÇMİŞ

Ad Soyad : Eyüp Çelebi

Doğum Yeri ve Tarihi : 01.01.2000 / İstanbul E-Posta : eyupceleb78@gmail.com

Staj ve İş Deneyimleri : Yönetişim Teknoloji ve Bilişim Sistemleri A.Ş, Emlak Yönetim Hiz.

Referanslar

Benzer Belgeler

Çünkü oluşturduğumuz içerikleri html semantik etiketler içinde sunuyor olmamız sitemizi indekslemeye gelen arama motorlarına içerik ile alakalı daha anlamsal

Uydu internetinin bu özellikleri diğer bağlantı türleri ile karşılaştırıldığında uydu erişiminin görsel içerik kalitesinin önemli olduğu uzaktan eğitim

a) 3 üncü maddesindeki yükümlülüklere, 4 üncü maddesinin birinci fıkrasının (a) bendindeki yükümlülüklere, 6 ncı maddesinin birinci fıkrasına veya 7 nci

Geliştirilen web tabanlı bir yazılımla sabah/öğleden sonra ilk ders saatlerinde derse giren öğretmenlerin sınıf yoklamasını sisteme gireceği, okul idaresinin de okul

Beceri ve Tutuma Yönelik Davranışların Gelişmesi Açısından Değerlendirilmesi Teknik Eğitim Fakültesi veya Teknik Bilimler Meslek Yüksek Okulu gibi Yüksek

Akci¤er grafisi, PEFR, nebülizatör ve inhalatör kullan›m› gibi birinci basamakta beceri olarak kazand›r›lmas›n›n gerekli oldu¤u düflünülen konu bafll›klar› ise

Tüm Tapu Sicil Müdürlükleri ve Kadastro Müdürlüklerinde Tuzla Belediyesi adına kayıtlı olup Belediyece satılacak veya trampa (mübadele) edilecek veya satın alma, hibe (hibe

• Araştırmalar bilimsel projelerin ve bilimsel proje yarışmalarının yaratıcılığı uyandırdığı ve yaratıcı düşünmeye özendirdiği, kişiliği ve mantıksal..