T.C. BURSA TEKNİK ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ

Yazılım Mühendisliği Dersi : Proje Genel Raporu

Motive8Now Web Motivasyon Sitesi

Öğretim Üyesi: Dr. Öğretim Üyesi Volkan ALTUNTAŞ

İÇİNDEKİLER

GİRİŞ

Proje Amacı

Motivasyon Sitesi projesi, insanların günlük yaşamlarında motivasyonel içeriklere erişebilmelerini sağlayarak, moral ve motivasyon düzeylerini yükseltmeyi amaçlamaktadır. Bu proje, kullanıcılara ilham veren alıntılar, motivasyonel makaleler, video içerikler ve kullanıcı deneyimini artıracak interaktif öğeler sunmayı hedeflemektedir. Motivasyon Sitesi, kullanıcıların kendilerini daha iyi hissetmelerine yardımcı olacak bir platform olarak, pozitif bir atmosfer oluşturmayı hedeflemektedir.

Proje Hedefleri

Motive8Now projesinin ana hedefleri şunlardır:

Kullanıcılara günlük motivasyon ve ilham sunmak: Proje, kullanıcılara içerikler aracılığıyla günlük motivasyon ve ilham vermek amacıyla tasarlanmıştır. Kullanıcılar, alıntılar, motivasyonel makaleler ve interaktif öğeler aracılığıyla motivasyonel içeriklere erişebilecektir.

Kullanıcı deneyimini geliştirmek: Projede, kullanıcıların rahatlıkla gezinip içeriklere erişebilmeleri ve kullanıcı dostu bir arayüzle etkileşimde bulunmaları hedeflenmektedir. Projede basit ve kullanıcı dostu bir navigasyon sunulacaktır.

Çeşitli motivasyonel kaynaklar sunmak: Proje, kullanıcılara farklı motivasyonel kaynaklar sunmayı hedeflemektedir. Bu kaynaklar arasında ilham veren alıntılar, motivasyonel makaleler ve kullanıcıların kendi deneyimlerini paylaşabilecekleri bir bölüm bulunacaktır.

Uzman desteği sağlamak: Projede, kullanıcılara randevulu bir şekilde uzman desteği sunulacaktır. Kullanıcılar, motivasyonla ilgili konular hakkında uzmanlardan danışmanlık alabilecekler ve kişisel gelişimlerine katkıda bulunabileceklerdir.

Kullanıcılar İçin Faydalar

  • Günlük motivasyon almak için kolay erişim sağlar.

  • İlham veren içerikler aracılığıyla pozitif bir atmosfer sunar.

  • Kullanıcı dostu arayüzüyle kolay ve keyifli bir kullanım deneyimi sağlar.

  • Farklı motivasyonel kaynakları tek bir platformda birleştirir.

  • Uzman desteği sayesinde motivasyonla ilgili konularda danışmanlık imkanı sunar.

  • Kullanıcıların kendi motivasyon hikayelerini paylaşabilmesine olanak tanır.

  • Kişisel gelişim ve başarı odaklı içeriklerle kullanıcıları destekler.

  • Motivasyonun sürdürülmesi için hatırlatıcı özellikler sunar.

  • Kullanıcıların hedeflerini belirlemelerine ve izlemelerine yardımcı olur.

  • Kullanıcıların günlük hayatta daha pozitif, motive ve başarılı olmalarına katkı sağlar.

PROJE GELİŞTİRME SÜREÇLERİ

İhtiyaç Analizi

Proje geliştirme sürecinin başlangıcında, kullanıcıların beklentilerini ve ihtiyaçlarını anlamak için detaylı bir ihtiyaç analizi yapılır. Bu aşamada, kullanıcıların projeden beklentileri, sorunları, hedefleri ve gereksinimleri doğru bir şekilde belirlenir.

İhtiyaç analizi, kullanıcıların projeden ne beklediğini anlamak için kullanıcı araştırmaları, gözlem ve geri bildirim toplama yöntemleri kullanır. Bu süreçte kullanıcıların beklentileri, iş gereksinimleri, kullanılabilirlik, performans, güvenlik ve kullanıcı deneyimi gibi faktörler dikkate alınır.

İhtiyaç analizi sonucunda elde edilen bilgiler, projenin hedeflerini doğru bir şekilde belirlemek ve projenin gereksinimlerini ortaya koymak için kullanılır. Bu bilgiler, projenin özelliklerinin, fonksiyonlarının, kullanıcı arayüzünün, veritabanı yapısının ve diğer gereksinimlerin belirlenmesine yardımcı olur.

İhtiyaç analizi süreci, projenin başarılı bir şekilde kullanıcı beklentilerini karşılamasını sağlar ve projenin hedeflerine uygun bir şekilde geliştirilmesine yol açar. Bu aşama, proje planlaması ve tasarımı için sağlam bir temel oluşturur ve proje sürecinin ilerleyen aşamalarında yol gösterici bir rol oynar.

Tasarım ve Planlama

İhtiyaç analizi sonucunda elde edilen bilgilere dayanarak, projenin tasarımı ve planlaması yapılır. Bu aşama, web sitesinin kabataslak görünümünü, kullanıcı arayüzünü, renk paletini, içerik yapısını ve navigasyon planını oluşturma sürecini içerir.

Tasarım ve planlama süreci, kullanıcı deneyimini (UX) ve kullanılabilirliği ön planda tutar. Web sitesinin kullanıcı dostu olması, kolay gezilebilir ve anlaşılır bir arayüz sunması amaçlanır. Bu doğrultuda, kullanıcıların ihtiyaçlarına ve beklentilerine uygun bir tasarım oluşturulur.

İlk adım olarak, web sitesinin kabataslak görünümü belirlenir. Bu, web sitesinin genel düzenini, bölümlerini ve içeriklerini gösteren bir taslak çizim veya dijital prototip olabilir. Kabataslak görünüm, projenin ekip üyeleri ve paydaşlar tarafından gözden geçirilerek geri bildirim alınır.

Daha sonra, kullanıcı arayüzü tasarlanır. Kullanıcıların web sitesiyle etkileşimini sağlayan düğmeler, menüler, form alanları ve diğer bileşenler belirlenir. Kullanıcı arayüzü, kullanıcıların hızlı ve etkili bir şekilde web sitesinde gezinmelerini sağlamak için dikkatlice planlanır.

Renk paleti, web sitesinin genel atmosferini ve marka kimliğini yansıtan renklerin seçimini içerir. Renklerin psikolojik etkileri, kullanıcılarda istenen duygusal tepkileri uyandırma ve markanın değerlerini iletişimde etkili olma amacıyla dikkate alınır.

İçerik yapısı ve navigasyon planı, web sitesinin bilgilerini organize etme ve kullanıcılara kolay bir şekilde erişim sağlama amacıyla oluşturulur. Kullanıcıların istedikleri bilgilere hızlı ve kolay bir şekilde ulaşmalarını sağlayacak mantıklı bir yapı oluşturulur.

Tasarım ve planlama süreci, görsel ve işlevsel unsurların uyumlu bir şekilde bir araya getirildiği bir evredir. Web sitesinin estetik açıdan çekici olmasının yanı sıra kullanıcıların ihtiyaçlarını karşılamasına yönelik pratik bir tasarım hedeflenir. Bu süreç, proje ekibinin fikirlerini paylaşmasını, geri bildirimleri değerlendirmesini ve projenin ilerleyen aşamalarına geçmeden önce tasarım ve planlama detaylarını tamamlamasını sağlar.

Geliştirme

Front-End Geliştirme

Front-end geliştirme, web sitesinin kullanıcı arayüzünün oluşturulmasıyla ilgilidir. HTML, CSS ve JavaScript gibi web teknolojileri kullanılarak web sitesinin görünümü ve kullanılabilirliği sağlanır. İşte front-end geliştirme sürecinde yapılacak adımlar:

HTML Şablonlarının Oluşturulması: Web sitesinin sayfalarının tasarımına uygun HTML şablonları oluşturulur. Bu şablonlar, web sitesinin yapısını ve içeriğini tanımlar.

CSS Stillemesi: CSS kullanılarak web sitesinin görünümü ve stillemesi sağlanır. Renkler, yazı tipleri, düzenler, arkaplanlar gibi görsel öğeler belirlenir. Böylece web sitesi istenen görsel tasarıma sahip olur.

JavaScript İşlevleri: JavaScript kullanılarak web sitesinin dinamik özellikleri eklenir. Kullanıcı etkileşimleri, animasyonlar, form doğrulamaları gibi işlevler JavaScript ile gerçekleştirilir.

Back-End Geliştirme

Back-end geliştirme, web sitesinin veritabanı yönetimi, sunucu tarafı programlama ve iş mantığı işlemlerinin gerçekleştirildiği bölümdür. İşte back-end geliştirme sürecinde yapılacak adımlar:

Veritabanı Tasarımı: Web sitesinin ihtiyaç duyduğu verilerin nasıl saklanacağı ve yönetileceği belirlenir. Veritabanı tabloları, ilişkileri ve veri yapıları oluşturulur.

Sunucu Tarafı Programlama: Sunucu tarafı programlama dilleri ve framework'leri kullanılarak web sitesinin iş mantığı işlemleri gerçekleştirilir. Kullanıcı girişi, veri işleme, form gönderimi gibi işlemler sunucu tarafında yönetilir.

Veritabanı İşlemleri: Web sitesinin veritabanıyla iletişim kurarak veri ekleme, güncelleme, silme gibi işlemler gerçekleştirilir. Veri tabanı bağlantıları, sorgular ve veri işleme işlemleri bu aşamada yapılır.

Güvenlik: Back-end geliştirme sürecinde web sitesinin güvenliğine önem verilir. Veri girişlerinin doğrulama ve denetleme işlemleri yapılır. Kimlik doğrulama, yetkilendirme ve veri güvenliği önlemleri alınır.

Test ve Hata Ayıklama

Bu aşamada, web sitesi detaylı bir test sürecinden geçirilecek ve çeşitli testler uygulanacaktır. Testler, kullanılabilirlik, uyumluluk, performans ve güvenlik gibi farklı alanları kapsar.

Kullanılabilirlik testleri, kullanıcıların web sitesini rahatlıkla kullanabilmesini sağlamak amacıyla gerçekleştirilir. Bu testlerde, kullanıcı arayüzü, gezinme yapısı, form işlevselliği ve kullanıcı deneyimi gibi unsurlar değerlendirilecektir. Böylece, kullanıcıların web sitesinde kolaylıkla dolaşabilmeleri ve istedikleri işlemleri gerçekleştirebilmeleri hedeflenir.

Uyumluluk testleri, web sitesinin farklı tarayıcılarda ve cihazlarda doğru bir şekilde görüntülenmesini ve çalışmasını sağlamak amacıyla yapılır. Bu testler, farklı tarayıcılar (Chrome, Firefox, Safari, vb.) ve cihazlar (mobil, tablet, masaüstü) üzerinde gerçekleştirilecek, her platformda tutarlı bir deneyim sunulmasına özen gösterilecektir.

Performans testleri, web sitesinin hızı, yanıt süresi ve yük altında nasıl performans gösterdiği gibi faktörleri değerlendirir. Bu testler, web sitesinin hızlı ve verimli bir şekilde çalışmasını sağlamak, kullanıcıların beklemelerini minimize etmek ve yüksek trafik altında da sorunsuz çalışmasını sağlamak amacıyla yapılacaktır.

Güvenlik testleri ise, web sitesinin güvenliğini değerlendirmek ve potansiyel güvenlik açıklarını tespit etmek amacıyla gerçekleştirilir. Bu testlerde, yetkisiz erişimler, veri güvenliği, form güvenliği gibi unsurlar dikkate alınır ve gerekli önlemler alınarak web sitesinin güvenliği sağlanmaya çalışılacaktır.

Elde edilen test sonuçlarına göre, hatalar ve sorunlar tespit edilecektır. Bu hatalar, geliştirici tarafından hata ayıklama sürecinde düzeltilecek ve web sitesi tekrar test edilerek sonuçların doğruluğu kontrol edilecektir. Bu şekilde, kullanıcılar için en iyi deneyimi sunmak amacıyla web sitesi üzerindeki hatalar giderilecek ve kalite seviyesi yükseltilecektir.

Bakım ve Güncelleme

Bakım ve Güncelleme aşaması, web sitesinin yayına alındıktan sonra sürekli olarak devam eden bir süreçtir. Bu aşamada, web sitesi kullanımı sırasında ortaya çıkan ihtiyaçlar ve kullanıcı geri bildirimleri göz önünde bulundurularak düzenli olarak bakım ve güncelleme çalışmaları yapılır.

Bakım çalışmaları, web sitesinin düzgün bir şekilde çalışmasını ve kullanıcıların her zaman sorunsuz bir deneyim yaşamasını sağlamak amacıyla gerçekleştirilir. Bu çalışmalar, web sitesinde oluşabilecek hataların tespiti ve düzeltilmesini içerir. Ayrıca, web sitesinin performansını etkileyen faktörlerin kontrolü yapılır ve gerekli iyileştirmeler gerçekleştirilir.

Güncelleme çalışmaları ise, web sitesinin ihtiyaçlara ve kullanıcı taleplerine göre sürekli olarak yenilenmesini ve geliştirilmesini sağlar. Bu çalışmalar, yeni özelliklerin eklenmesini, mevcut özelliklerin iyileştirilmesini ve web sitesinin güncel teknolojilere uyum sağlamasını içerir. Ayrıca, güvenlik açıklarının kapatılması ve veri güvenliğinin sağlanması için de güncellemeler yapılır.

Bu süreçte, yazılım metodumuza bağlı kalarak çalışmalar yürütülür.Kullandığımız metod Agile yöntemlerden biri olduğu için bakım ve güncelleme çalışmaları da iterasyonlar halinde planlanacak ve önceliklendirilecektir. Kullanıcı geri bildirimleri, talepler ve öncelikler doğrultusunda yeni işler tanımlanacak ve sprints (kısa süreli geliştirme döngüleri) içinde çalışılacaktır.

Bu şekilde, web sitesi sürekli olarak güncel tutulur, kullanıcıların ihtiyaçlarına cevap verebilir ve kaliteli bir deneyim sunmaya devam eder. Bakım ve güncelleme süreci, projenin başlangıcından itibaren düzenli olarak devam eder ve web sitesinin kullanıcılar için değerini arttırmaya yönelik çalışmalar içerir.

YAZILIM GELİŞTİRME METODU

Projemiz, esnek bir yaklaşım benimseyerek ihtiyaçlar doğrultusunda hareket eden bir yazılım geliştirme süreci izlemektedir. İhtiyaç analizi aşamasında kullanıcı beklentileri ve problemleri belirlenerek, projenin hedefleri doğru bir şekilde tanımlanmıştır. Tasarım ve planlama aşamasında kabataslak bir görünüm, kullanıcı arayüzü, renk paleti, içerik yapısı ve navigasyon planı oluşturulmuş, kullanıcı deneyimi ve kullanılabilirlik öncelikli olarak ele alınmıştır.

Geliştirme aşamasında ise, front-end ve back-end geliştirme çalışmaları yürütülmüş, HTML, CSS, JavaScript ve veritabanı teknolojileri kullanılarak web sitesi yapısı oluşturulmuştur. Bu aşamada ihtiyaçlar doğrultusunda esneklik gösterilmiş ve gerektiğinde önceki aşamalar revize edilmiştir.

Sonrasında, web sitesi detaylı bir test sürecinden geçirilerek kullanılabilirlik, uyumluluk, performans ve güvenlik gibi farklı alanlarda testler uygulanıp, elde edilen sonuçlar doğrultusunda hatalar tespit edilerek düzeltilecektir.

Projemiz, ihtiyaçlar doğrultusunda sürekli adapte olabilen bir yaklaşım benimsemekte olup, Scrum Agile esnek metodolojiyi tercih etmektedir. Bu sayede, müşteri geri bildirimleri ve yeni ihtiyaçlar doğrultusunda projenin ilerleyişi şekillendirilebilecek ve gerektiğinde önceki aşamalar yeniden değerlendirilebilecektir.

SONUÇLAR VE ÖNERİLER

Proje Sonuçları

1. Kodlama Aşaması:

  • Projede belirlenen kodlama aşamasına geçildi ve ilerleme kaydedildi.

  • Ekip üyeleri, belirlenen görevleri zamanında tamamladı ve işbirliği içinde çalıştı.

  • Web sitesinin temel yapısal unsurları ve fonksiyonları kodlanarak oluşturuldu.

2. İlerleme Durumu:

  • Proje takvimi ve zaman çizelgesine uyuldu.

  • Proje geliştirme sürecinde belirlenen hedeflere doğru adımlar atıldı.

  • Kodlama aşamasında karşılaşılan zorluklar aşıldı ve ilerleme sağlandı.

Proje Değerlendirmesi

1. Performans ve Verimlilik:

  • Kodlama sürecinde elde edilen sonuçlar değerlendirildi ve projenin performansı değerlendirildi.

  • Ekip üyeleri, verimli çalışma yöntemleri kullanarak zamanında ve kaliteli bir şekilde kodlama işlemini gerçekleştirdi.

2. Kalite Kontrolü:

  • Kodlama aşamasında kalite kontrolü yapıldı ve standartlara uygunluk sağlandı.

  • Kodun okunabilirliği, sürdürülebilirliği ve yeniden kullanılabilirliği göz önünde bulunduruldu.

  • Hata ayıklama süreciyle birlikte olası hatalar ve eksiklikler belirlendi ve düzeltilmeye çalışıldı.

Gelecekte Yapılacaklar

1. Test ve Hata Ayıklama:

  • Kodlama aşaması tamamlandıktan sonra, web sitesi detaylı bir test sürecinden geçirilecek.
  • Kullanılabilirlik testleri, uyumluluk testleri, performans testleri ve güvenlik testleri yapılacak.
  • Elde edilen sonuçlara göre hatalar tespit edilerek düzeltmeler yapılacak.

2. Geliştirme ve İyileştirme:

  • Kullanıcı geri bildirimleri dikkate alınarak web sitesi üzerinde sürekli olarak geliştirmeler yapılacak.
  • Yeni özellikler ve işlevler eklenerek kullanıcı deneyimi artırılacak.
  • Performans iyileştirmeleri, güvenlik güncellemeleri ve kullanıcı talepleri doğrultusunda düzenlemeler yapılacak.

3. Yayınlama ve Bakım:

  • Web sitesinin yayınlanması için gerekli adımlar atılacak.
  • Sürekli bakım ve güncelleme çalışmaları yapılacak.
  • İhtiyaçlara ve kullanıcı geri bildirimlerine göre web sitesi üzerinde düzenlemeler yapılacak.
  • Güvenlik açıkları kapatılacak ve gerekli güvenlik önlemleri alınacak.
  • Performans izleme ve iyileştirme çalışmaları yapılacak.
  • Teknolojik yenilikler takip edilerek, web sitesi altyapısı güncellenecek.
  • SEO (Arama Motoru Optimizasyonu) çalışmaları yapılacak ve web sitesi trafiği artırılacak.
  • Yeni pazarlama stratejileri oluşturularak, web sitesinin etkinliği artırılacak.

EKİP ÇALIŞMASI VE KATKILAR

Ekip Üyeleri ve Yetkinlikleri

Evin AYDİN ÜLGEN

  • Backend programlama dillerine (ör. PHP, Python) hakimiyet
  • Frontend tasarım dillerine (ör. HTML, CSS, JS) hakimiyet
  • Canva kullanarak yaratıcı ve etkileyici grafik tasarımlar oluşturma
  • İletişim becerileri ve işbirliği yeteneği

Mehmet Emir ERDEM

  • Backend programlama dillerine (ör. PHP, Python) hakimiyet
  • Frontend tasarım dillerine (ör. HTML, CSS, JS) hakimiyet
  • Canva kullanarak yaratıcı ve etkileyici grafik tasarımlar oluşturma
  • İletişim becerileri ve işbirliği yeteneği

Enes ERGENE

  • Frontend tasarım dillerine (ör. HTML, CSS, JS) hakimiyet
  • İletişim becerileri ve işbirliği yeteneği

Buse ÇINAR

  • Frontend tasarım dillerine (ör. HTML, CSS, JS) hakimiyet
  • Canva kullanarak yaratıcı ve etkileyici grafik tasarımlar oluşturma
  • İletişim becerileri ve işbirliği yeteneği

Ekip Çalışması

1.Proje yönetimi ve Koordinasyonu: Evin AYDİN ÜLGEN, Mehmet Emir ERDEM

2.Tasarım ve Kullanılabilirlik: Evin AYDİN ÜLGEN, Mehmet Emir ERDEM, Buse ÇINAR, Enes ERGENE

3.Front-end (kullanıcı tarafı) Geliştirme: Evin AYDİN ÜLGEN, Buse ÇINAR, Enes ERGENE

4.Back-end (sunucu tarafı) Geliştirme: Mehmet Emir ERDEM, Evin AYDİN ÜLGEN

5.Veritabanı Tasarımı ve Yönetimi: Mehmet Emir ERDEM

6.Dokümantasyon Oluşturma ve Belgeleme: Evin AYDİN ÜLGEN, Mehmet Emir ERDEM, Buse ÇINAR, Enes ERGENE

7.İyileştirme Önerileri ve Geri Bildirimler: Evin AYDİN ÜLGEN, Mehmet Emir ERDEM, Buse ÇINAR, Enes ERGENE

8.README dosyasının oluşturulması ve güncellenmesi: Evin AYDİN ÜLGEN

KATKIDA BULUNMA

Proje geliştirme sürecinde sizin gibi yazılımcıların, yatırımcıların ve destekçilerin katılımını ve desteğini bekliyoruz. Bu projeye katkıda bulunarak hem kendinizi geliştirebilir, hem de projemizin başarısına katkı sağlayabilirsiniz.

Nasıl Katkıda Bulunulur?

  1. Kod Geliştirme: Proje kaynak koduna katkıda bulunarak yeni özellikler ekleyebilir, hataları düzeltebilir ve performans iyileştirmeleri yapabilirsiniz. Proje kaynak kodu Github üzerinde bulunmaktadır.

  2. Dokümantasyon Geliştirme: Projeye dökümantasyon ekleyerek kullanım kılavuzlarını, API dokümantasyonunu veya proje belgelerini güncelleyebilirsiniz.

  3. Hata Bildirimi: Projeyle ilgili tespit ettiğiniz hataları GitHub Issue üzerinden bildirebilirsiniz. Hataları detaylı bir şekilde açıklayarak, projenin geliştirilmesine yardımcı olabilirsiniz.

Yeni Özellikler Eklemek

Projeye yeni özellikler eklemek için GitHub Pull Request gönderebilirsiniz. Özellik eklemesi yapmadan önce, projeyle ilgili bir sorun bildiriminde bulunarak önerinizi tartışabilirsiniz. Daha sonra, geliştirdiğiniz özellikleri projeye eklemek için bir Pull Request açabilirsiniz.

Hata Düzeltmek

Projede tespit ettiğiniz hataları düzeltmek için GitHub Issue sayfasına göz atabilirsiniz. Mevcut sorunları inceleyerek, düzeltme için bir Pull Request oluşturabilirsiniz. Hata düzeltmeleri projenin kalitesini artıracak ve kullanıcı deneyimini iyileştirecektir.

Projemize katkıda bulunmak isteyen herkesi bekliyoruz! İster kod geliştirerek, ister hata bildirimi yaparak, ister dokümantasyon geliştirerek destek verebilirsiniz. Katkılarınız projemizin başarısını daha da ileri taşımamıza yardımcı olacak.

Teşekkür ederiz!