/bootcamp-f37

Oyun ve Uygulama Akademisi - Bootcamp F-37 takımı

Primary LanguageDart

OUA Bootcamp, F-37

Oyun ve Uygulama Akademisi Bootcamp, Takım F-37'nin projesi.

Takım üyeleri

Ad ve soyad Görevler Bağlantılar
Ahmet Baran YÜCEL Product Owner, Developer GitHub, LinkedIn
Mustafa KARA Scrum Master, Developer GitHub, LinkedIn
Ümmügülsüm YÜCEL Developer GitHub, LinkedIn
Erva Nazlı TÜCCAR Developer GitHub, LinkedIn
Mert SÖNMEZ Developer GitHub, LinkedIn

Build işlemi

Android

Modern Android akıllı telefon havuzunun büyük bir kısmında çalışacak bir APK oluşturmak için:

flutter build apk --release --target-platform android-arm,android-arm64

iOS

Takımımızda macOS kullanan bir üye bulunmadığından Apple cihazları için bir uygulama sağlayamıyoruz.

Product Backlog URL

Ekotel - Ekoturizm odaklı tatil/seyahat uygulaması

Özellikler

Uygulama; seyahat güzergahı, oteller ve aktiviteler gibi konular hakkında bilgi verir. Kullanıcılar, tatil ve seyahat şirketlerini çevre dostu özellikleri üzerinden puanlandırırlar. Tatil ve seyahat şirketleri, kendi profillerini doldurarak kullanıcılara hitap edebilirler. Kullanıcılar, kendi profillerini tatilleri ve gezilerinde elde ettikleri kazanımlarla doldurarak yorumlarını dikkate alır bir görünüme sokabilirler. Benzer şekilde her sezon, şirketler de bir liderlik tablosuna eklenir. En yüksek puanı alan şirketler, rekabetlerine nazaran daha çok gösterilirler.

Kazanımlar

Ekoturistleri seyahat ve turizm sektörleri ile buluşturarak isteklerini karşılamayı amaçlar. Tatil ve seyahat sektörlerini çevre dostu pratikler uygulamaya iterek dünyaya katkıda bulunur.

Monetizasyon şeması

Şirketler ve yerel topluluklar, reklam vererek rekabette öne çıkmaya çalışacaklardır. Ana gelir kaynağımız reklamlardır.

Hedef kitle

Uygulamanın hedef kitlesi ekoturizme yakın turistler ve sıkı ekoturistler olarak ikiye ayrılıyor. Ekoturizme yakın turistleri uygulamada tutmanın en iyi yolu, sürekli indirimlerdir. Sıkı ekoturistler, uygulamadan detaylı şirket analizleri isteyeceklerdir.

Uygulamanın kullanım döngüsü:

Yayla turizmi tatili yapmak isteyen kullanıcı, uygulamaya giriş yapar ve arama sayfasını açar. Kullanıcı fitreleri kendi kriterleri çerçevesinde ayarlar. Kriterleri girdikten sonra kullanıcı, ekranda listelenen otelleri karşılaştırmak için karşılaştırma menüsünü açar. Karşılaştırma menüsü, seçilen iki aynı tür şirketin özelliklerini kısa bir şekilde ekrana yan yana yansıtan bir sayfadır. Uygulama üzerinden rezervasyon yapmak ve otele kendi iletişim yollarından ulaşmak gibi iki seçenekle karşı karşıya kalır. Uygulama üzerinden rezervasyon yapan kullanıcılar, belirli kriterleri karşılayarak indirim kuponları gibi ödüller kazanırlar. Uygulamadan rezervasyon yapıldıktan sonra, kullanıcının profiline ortalama olarak otellerle kıyasla dünyaya yayılmasını desteklemediği zararlı maddeler eklenir. Bu örnekte, örnek olarak diğer oteller yerine bu oteli tercih ederek karbon salınımı konusunda diğer turistlere kıyasla %X daha az zarar vermiş ise profile bu miktar eklenir.+ Profile ekleme sistemi isteğe bağlıdır. Rezervasyon sırasında bu durum iptal edilebilir. Otel dönüşü sonrası kullanıcı, uygulamada yorum yaparak bu otel hakkında tecrübelerini paylaşabilir ve rekabette görünümüne etki edebilir.

SPRINT 1:

+Sprint içinde tamamlanması tahmin edilen puan:59 +Puan tamamlama şeması: Proje toplamında şu an bulunan görev listesine göre 206 puanlık temel iş bulunmaktaadır. Sprint 1 temel oluşturma ve fikir bulma aşaması olduğu için düşük puanlı fakat kritik görevleri koyduk. Sprint 2 en yüksek puanlı ve en önemli sprint olduğuna kararına varıldı.

DAILY SCRUM:

  • Dailylerin belirlenmesi için ekibin içerisinde bulunan öğrencilerin final haftalarında bulunan sınav tarihlerini topladık.

image

  • Tüm bu sınav takvimleri ardından Whatsapp üzerinden bir anket ile toplantıların aralıklarını ve toplantı saatlerini kararlaştırdık.

    image image

  • Anket ardından hafta içi her gün 20.30’da 15 dakikalık Dailyler yapmaya karar verdik. Toplantılarımızın yapılması ve dosyalarımızın saklanması için bir Discord kanalı oluşturduk.

    Sprint Review:

  • Projemizin fikir aşamasının çok önemli olduğu için ekibin temel odak noktasını bu tarafa çektik. Beyin fırtınası yaparak ekibin her üyesinin birden çok proje fikri bulmasını istedik ve eleyerek 5 adet temel proje fikri bıraktık.

image

  • Son aşamada proje fikrinin belirlenmesi için kapalı bir oylama yaptık ve projemizin fikri belirlenmiş oldu.

image

Proje fikri belirlendikten sonra ekibin görev dağılımlarını tamamladık. +Mustafa : Scrum Master,Developer

  • Ahmet : Proje Master.Developer

  • Ümmügülsüm: Developer

  • Erva: Developer

  • Mert: Developer

  • Proje fikrinin sahibi Ahmet olduğu için proje master, daha önce bulunan deneyimlerden dolayı Mustafa Scrum Master seçildi.

  • Proje fikri sahibi Ahmet uygulamanın genel duruşu hakkında en fazla bilgiye sahip olması için Pseudo UI çizilmesi istendi, bu sayede Designerlar daha net şekilde tasarım yapılması sağlandı.

image image

  • Pseudo Design ardından UI tarafında daha önce tasarım yaptığı için Mustafa uygulamanın UI Designlarını figma üzerinden tasarlamaya başladı.

image image

  • Uygulama UI’ı Proje Master’ının düşüncesi doğrultusunda olması için birden fazla revize gördü ve ortak noktalara ulaşıldı.

  • Tasarımların netleşmesi ardından uygulamanın sahip olması gereken fonksiyonlar ve özellikler backloglanarak listelendi.

  • Proje büyüklüğü ve ekip üyesi sayısı dikkate alınarak uygulamayı yürütmek için en pratik yolu Google Tablolarda bulduk. Backlog dosyasının yazılması için Project Master ve Scrum Master birden fazla toplantı gerçekleştirdi.

  • Scrum Master(Mustafa KARA)Teknik ve teknik olmayan task listesi üzerinden ekip üyelerine görevlerini atamaya başladı.

  • Tasklerin atanması ardından ekip üyeleri deadline sınırları içerisinde görevlerini yapmalarına başladılar.

  • Versiyonlar halinde gerçekleştirilmesine karar verilen proje ilk scum yani version 0.0.1 içersinde • Welcome Page • Signin Screen • Register Screen • HomePage Basics Sayfalarının kodlanması için gereken taskler verildi ve tamamlandı

SPRINT BOARD UPDATE:

image image

SPRINT NOTLARI:

Teknik Olmayan Görevler: -Ekip üyelerine uygun dailylerin tasarlandı ve genel toplantıların yapılması için bir discord sunucusu kuruldu

  • Sprintler arasında yapılacak işlerin karar verilmesi.
  • Github reposunun açıldı ve her üyenin o repoyu forklandı.

Teknik Olan Görevler: -UI Designda bulunan Color Palette'nin çıkarıldı. -Uygulamanın içerisinde bulunan Asstlerler projeye dahil edildi. -Uygulamanın kullanacağı font grupları dahil edildi. -Firebase servisleri bağlandı ve temelleri atıldı. -Projede bulunan sabit olan butonlar, bottombar vb. bir const objeler tanımlandı. -WelcomePage kodlandı. -SigninPage kodlandı. -Login kodlandı. -HomePage kodlandı.

Screen Shots

image image image image

Sprint Retrospective:

  • Projenin genel gidişatı için gereken temeller tamamlanmıştır
  • Projede kullanıcı girişi, kayıt ol ve misafir girişi işlemleri için firebase temelleri kurulmuştur.
  • 4 sayfanın şablon olarak kullanılıcak kodlanmaları tamamlanmıştır
  • Uygulama içerisinde kullanılıcak button kütüphanesi custom olarak kodlanmıştır.
  • Geri kalan 2 sprint süresinde ekibin her üyesinin daha fazla aktif olması gerektiği kararına varılmıştır.
  • Görevlerin deadline ı için daha fazla süre istenmiştir.

SPRINT 2:

PROJE BACKLOG : https://docs.google.com/spreadsheets/d/1-t9auiCSkU0xhwKEhTpSQff-Z8Cynn-lCvCoE_f39IQ/edit?usp=sharing Sprint içinde tamamlanması gereken tahmini puan: 92

DAILY SCRUM:

20.06.2023 -> • GitHub hakkında konuşuldu. • Firebase hakkında yapılan işlemler incelendi ve yapılacaklar konuşuldu. • Sprint 1 in genel özeti geçildi ve Sprint 2 hakkında yapılması gerekenler konuşuldu • Iletişimin daha da güçlendirilmesi istenildi

21.06.2023 Mustafa: Navigation barr yazılıyor, onpressed kısmı incelenerek uygulama içinde kullanılabilir hale getirilicek. Ahmet: Firebase için Riverpod'a geçiş tamamladım. Erva: ben daha başlamadım bu gece yada yarın başlayacağım Ümmü Gülsüm: ben bugün dışardaydım o yüzden daha kod kısmına başlamadım akşam bir şeyler yazmayı denicem Mert: Yapılacak sayfaları inceledim kod yazmaya başlamadım. 22.06.2023 Ahmet: Bilgisayarım arzalandığından dolayı işlem yapamadım. Ümmü Gülsüm: Sayfayı genel hatlarıyla yaptım. Erva: Sayfanın geneli tamamlandı, bazı ufak detaylari yapacağım. Mert: Basit bir sayfa kodlaması yaptım Mustafa: Sayfayı kodlama aşamasındayım. 23.06.2023 Genel olarak yapılan sayfalar hakkında yorumlar ve öneriler ortaya atıldı. Kod kısmında karşılaşılan hatalara çözüm arandı 24.06.2023 Herkes kodlama kısmında hangi aşamada olduğunu belirtti. Bazı arkadaşlar kodlarını GitHub reposuna yükleme başladı 25.06.2023 Genel bir günlük toplantı niteliğinde oldu. 26.06.2023 Gerekli revizeler söylendi. Bazı sayfalarda düzenlemeler yapıldı. 27.06.2023 Teknik konular üzerine kısa toplantı yapıldı. Somut olarak neler yaptığımızı incelendi. 28.06.2023 Bayram kutlamasi yapıldı. Çok yoğun olmayacak şekilde proje hakkında konuşuldu 29.06.2023 Günlük toplantıya bir gün ara verildi 30.06.2023 Yapılan her şey tekrar inceledi. Bazı eksiklikler farkedildi, bunun doğrultusunda işlem yapıldı. 01.07.2023 Farkedilen eksiklikler hakkında yapılan düzeltmeler incelendi ve eksiklik giderildi.

SPRINT REVIEW:

Sprint Review:

image

• Projenin ilk sprinti ardından, planlarımızı full uygulamayı yazmak üzerine çevirdik. Tüm sayfaları sprint 3’e kalmadan genel hatları ile yazmayı tercih ettik. Bu sayede daha kullanıcı canlısı bir uygulama geliştirmiş olacaktık. Sprint 3 te sadece var olan hataları kapatmayı hedeflerken tabi ki düşüncemizden farklı rotalar alındı. • Bayram tatili ve ekip üyelerinin yaşadığı aksilikler nedeni ile tüm uygulama hazır hale gelemedi.

Sprint Notları: Teknik olmayan Taskler: • Otelleri ayrıştırılması • Otellerin Eco Oranın belirlenmesi Teknik olan Taskler: • HomePage UI Code • SearchPage UI Code • Otel Profili UI Code • Karşılaştırma ekranı UI Code • Yorumlar UI Code • Rezervasyon UI Code • Profil UI Code • Firebase servis – UI • Bottom bar • FilterPage UI Code • Otellerin Firebase'den çekilmesi

SCREEN SHOTS

image

image

image

image

image

image

image

image

image

SPRINT RETROSPECTIVE

• Projenin tüm sayfalarının UI asarımları şablon olarak tamamlanmıştır • Projede custom olarak yaratılan bottom bar verimli çalışmadığı için hazır bottom bar paketleri kullanılmaya karar verilmiştir. • Uygulamanın tüm renkleri const file’a aktarılmış ve clear code sağlanmıştır. • Sprint3 için ekisklerin listesi çıkarılmıştır.

SPRINT 3:

PROJE BACKLOG : https://docs.google.com/spreadsheets/d/1-t9auiCSkU0xhwKEhTpSQff-Z8Cynn-lCvCoE_f39IQ/edit?usp=sharing Sprint içinde tamamlanması gereken tahmini puan: 149

DAILY SCRUM:

03.07.2023: Günlük toplantı yapıldı. Geçen sprintte aldığımız puan üzerinde konuşuldu. Scrum master, son sprintin önemli olduğunu ve herkesin buna hassasiyet göstermesini istedi. Son sprintte yapacağımız işler hakkında konuşuldu, çizelge oluşturuldu ve görev atamaları yapıldı.

04.07.2023: Developer Ümmü Gülsüm, sayfalar için bazı düzenlemeler yaptı. Düzenlemeler arasında her sayfada kullanılacak bir alt çubuğun eklenmesi de yer aldı. Uygulamanın sayfalarında daha fazla değişiklik yapılması kararlaştırıldı ve bu konu üzerinde görüşüldü.

05.07.2023: Günlük toplantıda bir önceki gün konuşulan düzenlemelerle ilgili yapılan iyileştirmeler gösterildi.

06.07.2023: Ümmü Gülsüm, profil sayfasını düzenledi ve ekip arkadaşlarından geri bildirimler aldı.

07.07.2023: Günlük toplantıda Scrum Master, iletişim konusunda ekip üyelerini uyardı. İletişim eksikliği konuşuldu ve bu sprintin önemi tekrar vurgulandı.

08.07.2023: Günlük toplantıda uygulamanın veritabanı bağlantısı ve backend servislerinin aktif hale getirilmesi konuşuldu.

09.07.2023: Database'e aktarılacak oteller için içerik ve fotoğraf bulunma işlemleri istendi.

10.07.2023: Uygulamanın ve servislerin güvenliği açısından Github üzerinden depoyu özel duruma çevirme düşünüldü.

11.07.2023: Backend tarafında geliştirmeler devam ediyor. Eksikler hakkında konuşuldu ve Scrum Master son sprintin önemini hatırlattı.

12.07.2023: Developer ekibinden Mert'in, kodları bilgisayarının arızalanması sonucu GitHub'a yedeklemediği ve kaybettiği bildirildi. Bu duruma hızla müdahale edildi ve farklı bir bilgisayar üzerinden kodlar yeniden yazıldı.

13.07.2023: Scrum Master bir toplantı düzenledi. Toplantının konusu, backend tarafında nerede olduğumuzdu. Backend sürecinden sorumlu ekip üyesi toplantıya katılmadı ve mazeret bildirmedi. Backend süreci uzamaya başladı.

14.07.2023: Uygulamada yaşanan sorunlara hızlı bir çözüm bulmak için bir toplantı yapıldı ve çözüm önerileri sunuldu.

15.07.2023: Uygulamadaki soruna bir çözüm bulundu ve son düzenlemeler üzerinde konuşuldu.

16.07.2023: Son düzenlemeleri yapılan uygulamanın video çekimi ve pazarlama işlemlerine başlandı.

17.07.2023: Projenin tüm aşamaları tamamlandı ve sunuma hazır hale getirildi.

SPRINT REVIEW:

image

Sprint 3 e girmemizin ardından projenin eksiklerini kapatmak ve test amaçlı bir çok task oluşturduk. Sprint 2 de hayal ettiğimiz gibi projenin tümünü yetiştirmek mümkün olmadı. Bundan dolayı sprint 3 zorlayıcı geçti. Uygulamanın bir çok kısmı bitmiş bulunmasına rağmen test süreçlerinde sarkmalar meydana geldi.

Sprint Notları:

Teknik olmayan taskler: • Otellerin yayla turizmi,sağlık turizmi, kıyı turizmi olarak ayrıştırılması • Karşılaştırma özelliklerinin listelenmesi • Ekran Videosu • Sunum Videosu • Otellerin ECO oranının belirlenmesi(Firebase)

Teknik olan taskler: • Firebase servis – UI • Bottom bar • Filtreleme Sayfası • Otel bilgilerinin firebaseden çekilmesi • Sayfaların birleştirilmesi • Uyguamanın Test Edilmesi • Flutter Animasyon(Opsiyonel)

Firebase özeti:

Kullanıcı kayıt olduğunda bilgileri firebasede tutuluyor sonra bu bilgiler kullanıcı giriş yaptığında kullanılıyor. Kayıt için kullanıcı ad,soyad,e-mail ve şifre bilgileri gerekiyor. Otel bilgilerinin deposu içinde otel adı, otelin resmi, otelin tanıtım açıklaması ,id bilgisi ve otelin eko oranı ve derecesi yer alıyor. Yorumlar servisinde kullanıcı id si , otel hakkında yaptığı yorum içeriği ve otele kaç yıldız verdiği tutuluyor.

image

image

image

image

image

image

SPRINT RETROSPECTIVE:

• Bottom bar düzenlenerek sayfalara entegre edilmiştir. • Rezervasyon sayfası zaman eksikliğinden dolayı statik olarak tanımlanmıştır. Karşılaştırma sayfası hariç diğer sayfaların kodlamaları tamamlanmıştır. Tamamlanamayan sayfa ve firebase bağlantıları değerlendirilmiştir. • Kullanıcı bilgileri ,yorumlar ve otel arayüzlerinin firebase servislerine bağlantıları yapılmıştır. • Takım üyelerinin bootcamp süreci performansı ve iletişimi değerlendirilmiştir.