2. İçindekiler
1)Proje fikri nasıl ortaya çıktı?
2)Projenin amacı ?
3)Projede kullanılan teknolojiler
4)Proje aşamaları
5)Proje görselleri
3. Proje Fikri Nasıl Ortaya çıktı?
UniStay fikri ; karmaşık emlak sitelerini daha basit hale getirmek amacıyla ortaya çıkmıştır.
Fikrin en önemli noktası konum odaklı arama yapma ve özellikle oda kiralamalarına imkan
sağlayan bir web arayüzü geliştirmek..
Karmaşıklığı ortadan kaldırmak ve direk amaca uygun olarak aramalar yapmak.
4. Projenin Amacı
UniStay; öğrenciyle , öğrencilere uygun kiralama yapan konut sahiplerini buluşturacaktır.
UniStay kitle olarak kendisine özellikle ev bulmak da zorlanan üniversite öğrencilerini hedef
almıştır.
Öğrenciye kiralanmak istenen konutların , okul odaklı aramalar yapılarak özellikle öğrencilere
listelenmesi amaçlanmıştır.
Oda kiralamalarına imkan sağlanacaktır.
Konum odaklı aramalar sayesinde sadece okul yada okula yakın Ev,Yurt, Hostel,Villa tipi evler
kiralanacak.
5. Projede Kullanılan Teknolojiler
UniStay projesi , Python dili , Django Web Framework’ ü üzerinde geliştirilmiştir..
Arayüzde ; Html , Css , JavaScript kodları kullanılmıştır.
Backend Python dili kullanılmıştır.
Veritabanı olarak MYSQLDB tercih edilmiştir.
Haritalama için Google maps kullanılmıştır.
6. Python Dili
Python, Guido Van rossum adlı hollandalı bir programcı tarafından yazılmış bir programlama dilidir.
Geliştirilmesine 1990 yılında başlayan Python; C ve C++ gibi programlama dillerine kıyaslarsak şöyle
sonuçlar elde edebiliriz.
● Daha kolay öğrenilir.
● Program geliştirme sürecini kısaltır yani hızlı yazılır.
● Yukaridaki verilen programlama dillerine aksine ayrı bir derleyici ihtiyaci duymaz.
● Hem daha okunaklı, hem daha temiz kodsal söz dizimine sahiptir.
7. Django Web Framework
Django, Python programlama dili ile yazılmış MTV mimari desenini kullanan, yüksek seviyeli
ve açık kaynak bir web frameworküdür.
Django’yu bu kadar popüler yapan nedenler arasında; basit kurulumu ve kullanımı, detaylı
hata raporu sayfaları, genişletilebilir yönetim paneli ve yenilikçi şablon dili gibi bir çok neden
sayılabilir.
Django Projesi’nin temel hedefi, karmaşık bir yapıda olan ve bir veritabanı kullanan web
uygulamalarının geliştirilmesini kolaylaştırmaktır.
8. Django Nasıl Çalışır?
Bir istek web sunucusundan Django’ya geldiğinde, ilk olarak sayfa adresini alır ve ne
yapacağını çözmeye çalışır.
Bu görev Django url çözümleyici(url resolver) tarafından yapılır.
Burada çok fazla bürokrasi yoktur, Django url desenlerinin(patterns) bir listesini alır ve
eşleştirmeye çalışır.
Bu desenleri yukarıdan aşağıya doğru denetler ve birisi eşleştiğinde ilişkili olan View’a gelen
isteği geçirir.
9. Model – Template – View (MTV)
Django geliştiricileri, MVC’deki denetleyici(controller) yerine görünüm(view) kelimesini tercih
etmişlerdir.
10. Model
Model; uygulamanın veriye erişim katmanıdır(data access layer). Veriye nasıl erişileceği,
validasyon ve veriler arasındaki ilişkiler gibi veriyle alakalı her şey bu kısımda yer alır.
Sizin formlarınızdaki alanlardan tutun, veritabanınızdaki tablolara kadar her şey modellerden
üretilir.
Örneğin; Person adında bir modeliniz(class) ve bu modelde de, Name, Surname ve Email
gibi alanlarınız olabilir.
11. Template
Template, uygulamanın sunum katmanıdır(presentation layer).
Bu katman, web sayfasında veya diğer tür dökümanlarda verilerin nasıl gösterilmesi gerektiği
gibi sunum kısmıyla ilgili kararları içerir.
Template kısmında işlenip gelen veriler, kullanılan şablon dili(Jinja vb) aracılığıyla
şekillendirilerek kullanıcılara sunulur.
12. View
View, uygulamanın iş mantığı(business logic) kısmıdır.
Bu katman, uygun şablon ve modellere erişimle ilgili mantıksal kısmı içerir. Bunu modeller ve
şablonlar arasında bir köprü gibi düşünebilirsiniz.
MVC mimari deseninde, denetleyiciye(controller) denk gelmektedir.
Model kısmını uygulamanın iskeleti, View kısmını da beyni olarak düşünebilirsiniz.
13. HTML ,CSS,JS
Html web sayfaları hazırlamak için kullanılan bir işaretleme dilidir.Halihazırda kullandığımız
web tarayıcıları (Internet Explorer, Firefox, Chrome v.b) bu kodları anlayarak görsel web
sayfalarına dönüştürürler. Html bir programlama dili değildir.
CSS bir kısaltmadır. "Cascading Style Sheets" kelimesinin baş harflerinden oluşur. Dilimizdeki
anlamı: Basamaklı Stil Sayfası.
JavaScript bize etkileşimli ve dinamik web sayfaları hazırlama imkanı vermektedir.
14. MysqlDB
MySQL bir ilişkisel veritabanı yönetim sistemidir.
İlişkisel veritabanı yönetim sistemi verilerin tablolarda satırlar ve sütunlar halinde tutulduğu ve
veri tutarlığını sağlayan bir sistemdir.
15. Google Maps Api
Google Map API ; google ‘ın haritalar özelliğini geliştirdiğimiz uygulamalarımızda
kullanmamızı sağlar.Google Maps API Google’ın ücretsiz olarak tüm webmaster’ların
kullanımına sunduğu ve sitenize interaktif haritalar eklemenize olanak sunan bir uygulamadır.
16. Distance Matrix Service
Google's Distance Matrix service computes travel distance and journey duration between
multiple origins and destinations using a given mode of travel.
17. Geocoder Service
Geocoding is the process of converting addresses (like "1600 Amphitheatre Parkway,
Mountain View, CA") into geographic coordinates (like latitude 37.423021 and longitude -
122.083739), which you can use to place markers on a map, or position the map.
18. Proje aşamaları
1.Aşama:UniStay’ de ilk aşamada Model tasarımını , View kodlarını , url yapılarını ve Django
frameworke tema giydirme aşamalarının yapılması hedeflendi.
2.Aşama:Bu aşamada ise projede kullanılacak olan Konum odaklı arama ve listeleme için
haritalama uygulamaları geliştirildi