Ana içeriğe geç

Mobil Uygulama

Login

Sisteme entegre 4 farklı giriş yapma biçimi bulunmaktadır.Bunlar aşağıdaki gibidir.
 • Db’ye kayıtlı kullancı bilgileri ile Login
 • Google Login
 • Apple Login
 • Facebook Login

Db’ye kayıtlı kullanıcı bilgileri ile Login

Api Adresleri
  • /api/v1/Authentication/KullaniciGiris/KullaniciGirisYap
  • /api/v1/Authentication/KullaniciGiris/OAuthToken
    Bu apiye giden istekte işletmeOnUrlEk = event parametresi gönderilir.

Google Login

Google SignIn kullanabilmek için projemizin firebase’te tanımlı olması gerekir.

Login1

Google Cloud Platform API Manager’ı kullanarak Google People Api’sini etkinliştirmeliyiz. (https://console.cloud.google.com/apis/dashboard)

Login2

Daha sonra Google Cloud Platform API Manager’da OAuth consent screen sekmesine gelerek projemiz ile ilgili bilgileri doldurmalıyız ( Bu bilgiler firebase console’da bulunur.)

Login3

Google SignIn’e dair ayarlar projede google-services.json ve GoogleService-Info.plist dosyalarında bulunmaktadır. Bu dosyalar firebase console’dan indirilip projedeki uygun klasörlere yerleştirilir.

Login4
Login5

Apple Login

Apple ile login işleminin kullanabilmek için ilk önce https://developer.apple.com/account/resources/identifiers/list adresine giderek uygulamamız için bir Identifiers tanımlamalıyız. Burada Sign In With Apple ‘ı seçili olması gerekmektedir.

AppleLogin1
AppleLogin2

Daha sonra bir ServiceId oluşturup ( tanımladığımız Identifiers seçilmelidir ) apple ile giriş işleminin android ve web uygulamalarındada kullanılmasını sağlamalıyız.

AppleLogin3

Daha sonra istemcilerden gelen yetkilendirme kodlarını Apple sunucularıyla iletişim kurarak doğrulamak için bir anahtar oluşturulmalıdır. Anahtar oluşturulurken Sign In With Apple seçeneği seçilmelidir. ( https://developer.apple.com/account/resources/authkeys/list )

AppleLogin4
AppleLogin5

Sunucu İşlemleri

Apple Login’i kullanabilmek için Apple sunucuları ile iletişim kurup yönlendirme yapabilen bir apiye ihtiyacımız vardır. Bunun için basit ve ücretsiz bir şekilde düşük boyutlu uygulamalar yayınlayabildiğimiz Glitch ( https://glitch.com/ ) üzerinde apple ile iletişim kuran node.js ile yazılmış bir api projesi yayınlandı. Bu api projesinin url’i aşağıdaki gibidir.

 • https://marked-languid-phone.glitch.me/callbacks/sign_in_with_apple

Api’da bulunan .env dosyası yapılandırma ile ilgili ayarların bulunduğu dosyadır.

AppleLogin6

 • TEAM_ID alanı developer.apple.com’daki Team Id değeridir.
 • SERVİCE_ID alanı developer.apple.com’daki Identifiers kısmında tanımlanan servisin Id değeridir.
 • BUNDLE_ID alanı uygulamanın paket adıdır.
 • KEY_ID alanı developer.apple.com’da Keys kısmında bulunan ilgili keyin Id değeridir.
 • KEY_CONTENTS developer.apple.com’dan indirilen key içerisinde değer ( Gitlabta proje klasöründe bulunan AuthKey_6A27Q5SG9G.p8 isimli dosyanın içerisinde yazan değer )

Danger

Node.js ile oluşturulan Glitch.com üzerinde yayınlanmış apinin dosyaları , kodları gitlab üzerindeki Mobil-Flu-EventPlanner repository’sinin ana dizinindeki glitch isimli klasörde bulunmaktadır.

Android için ise AndroidManifest.xml içerisindeki aşağıdaki activity tanımlanmalıdır.

AppleLogin7

Facebook Login

Facebook ile giriş yapmayı etkinleştirmek için developers.facebook.com adresinde bir geliştirici hesabı açıp ilgili uygulama tanımlanmalıdır. Daha sonra bu uygulamaya facebook tarafından atanan AppId ve Client Token değerleri android için /android/app/src/main/res/values/strings.xml dosyasına eklenmelidir.

FacebookLogin1
FacebookLogin2

Daha sonra AndroidManifest.xml içerisine aşağıdaki gibi değerleri geçirmeliyiz.

FacebookLogin3

IOS için Info.plist içerisinde aşağıdaki değerler bulunmalıdır.

FacebookLogin4
FacebookLogin5

Ayrıca uygulamanın facebook logini çalıştırabilmesi için geçerli bir gizlilik politikasına sahip olması gerekir.

FacebookLogin6

Bu gizlilik politikasını uygulama ile eşleştirebilmek için ise aşağıdaki meta tag’leri gizlilik politikasının bulunduğu html dosyası içinde bulunmalıdır.

FacebookLogin7

Gizlilik politikasıyla ilgili bir problem oluşursa https://developers.facebook.com/tools/debug/ adresine gidip gizlilik politikasının url’i girilerek detaylı olarak incelenip sorun belirlenebilir.

FacebookLogin8

Bir sorun oluştuğunda değişiklikler yapılıp uygulama live moda geçirilmelidir.

FacebookLogin9

Android Deep Linking

Android kısmında link ile uygulamaya yönlendirmeyi aktifleştirebilmek için uygulamanın dinleyeceği link yapısını aşağıdaki gibi AndroidManifest.xml içerisine tanımlamalıyız. Böyle bir tanımda uygulama https://event.alpatateknoloji.com/... şeklinde üretilen linkleri dinleyerek tıkladığımızda uygulama içerisinde açma isteği oluşturan bir dialog açar.

DeepLinking1

Bu sitenin uygulamayla ilişkilendirilebilmesi için https://event.alpatateknoloji.com adresinde aşağıdaki içeriğe sahip ismi ise /.well-known/assetlinks.json olan bir dosya bulunmalıdır.

DeepLinking2

Bu assetlinks dosyasında bulunacak sha256_cert_fingerprints kısmında bulunan değer google play consoleda kurulum / uygulama bütünlüğü sayfasındaki uygulama imzalama kısmında bulunan SHA-256 sertifika parmak izidir.

DeepLinking3

Bu sayfanın altında google’ın bizim için otomatik olarak oluşturduğu assetlinks.json dosyasıda bulunmaktadır . Bu dosyayı dinlemek istediğimiz web adresinin içerisine koyarak uygulama ve web sitesini eşleştirmiş oluruz.

DeepLinking4

Ayrıca google play console üzerinden oluşturduğumuz uygulama ve site eşleştirmeleriyle ilgili hatalar olup olmadığına bakabiliriz. Bu kısım play console’da Büyüme sekmesinin altındaki Derin Bağlantılar kısmında bulunur.

DeepLinking5

IOS Deep Linking

IOS konfigürasyonu için IOS / Runner / Runner.entitlements klasörüne giderek aşağıdaki değerleri girmeliyiz.

DeepLinking6

Daha sonra Info.plist içerisine giderek CFBundleURLTypes kısmına dinleyeceğimiz url’i tanımlamalıyız.( Kırmızı ile işaretli olan kısım değiştirilmelidir. )

DeepLinking7

Daha sonra dinleyeceğimiz web sitesi ile uygulamayı ilişkilendirmek için apple-app-site-association isimli bir dosya oluşturup o url’e eklemeliyiz. apple-app-site-association dosyası aşağıdaki gibi olmalıdır. appId kısmı TeamId.paket adı şeklinde yazılmalıdır.

DeepLinking8

https://developer.apple.com/account/resources/identifiers/list adresindeki uygulamamız için tanımlı Identifiers’ta AssociatedDomains kısmı işaretli olmalıdır.

DeepLinking9

!!! danger Linklere tıkladığımızda uygulamaya yönlenmiyorsa ilk bakacağımız yer dinlediğimiz linkin bulunduğu web sitesidir.Bu sitede assetlinks.json ile apple-app-site-association dosyalarının bulunmuyor olabilir. Bir diğer hata ise kullanıcının linke tıkladığında açılan dialog’ta google,safari vb. tarayıcı seçimi yaparak her zaman seçeneğine tıklamasıdır. Daha sonra kullanıcı bunu yaptığını unutup uygulamaya yönlendirme olmadığını düşünebilir.

Anasayfa

Anasayfa

Üstteki Slider ( Swiper )

Api Adresi

  • api/v1/Event/Event/EventsInTheCurrentMonth/2
  • 2 etkinlik tipini belirtir ( TblEventTip Id si 2 , TipId si 2 olan kayıtlar Seepre’de oluşturulan etkinliklerdir)
  • Tokendan gelen kullanıcıId ye göre bu kullanıcın bitiş tarihi geçmemiş tüm etkinliklerdeki katılım durumu ve etkinliklere dair genel bilgiler döndürülür.
  • En üstteki sliderda kullanıcı kendi oluşturdukları ve diğer kullanıcıların oluşturdukları bitiş tarihi geçmemiş etkinlikleri görebilir.Bu slider’daki bir etkinliğin üzerine tıkladığında etkinliğe dair genel bir bilgi içeren bir dialog açılır.

Rozetler

Api Adresleri

  • api/v1/Event/Event/GetRating
  • api/v1/Event/Event/GetRatingByLatAndLong/{latitude}/{longitude}
  • Kullanıcının konumuna erişilebilirse aşağıdaki api adresi erişilemezse diğer adres kullanılırç
  • Rozetlerde ilk sırada bulunan kısım konum bazlı (şehir bazlı) çalışır ve kullanıcının geçerli konumundaki etkinliğe katılım sıralamasını verir. Bu sıralama o ayki etkinliğe katılan kullanıcılar arasında yapılır. En çok katılım gösteren kullanıcı sıralamada 1. sırayı alır.
  • MyEvents rozeti kullanıcının geçerli ay içerisinde oluşturduğu etkinlik sayısı bilgisini içerir.
  • MyFriends rozeti kullanıcının arkadaş olduğu kullanıcı sayısı bilgisini içerir.
  • My Qr Code rozeti kullanıcının qr kodu sayısıdır , yani katıldığı etkinlik sayısıdır.
  • New Events kullanıcının görüntüleyebileceği etkinlik sayısıdır. ( Katılabileceği , katıldığı )

My Invitations

Api Adresi

  • api/v1/Event/Event/GetEventsByDavetliId/{userId}

Kullanıcının davetli olduğu etkinliklerin listelendiği kısımdır. Burada davet kabul veya ret edilebilir.

Special To Me

Api Adresi

  • api/v1/Event/Event/EventsInTheCurrentMonth/2

Bu adresten çekilen data içerisinden etkinlik tipi genel ve kullanıcının katılım durumunun bulunmadığı ve etkinlik tipi özel ve kullanıcının katılım isteği gönderebileceği (reddedildiği veya katılım durumunun bulunmadığı ) etkinlikler bu kısımda listelenir.

Skorlar

Skor1 Skor2 Skor3

Api Adresi

  • api/v1/Event/Event/GetRatingByLatAndLong/{latitude}/{longitude}

Anasayfada bu adrese istek atılır ve rozete tıklandığında DuzenleyenRating ve KatilimciRating alanları parametre geçilerek yandaki sayfalar açılır.
Skor rozetine tıklanıldığında birbiri arasında geçiş yapılabilen sayfalar açılır.İlk açılan sayfada kullanıcının etkinliğe katılma sıralamasında kaçıncı olduğu bilgisi (KatilimciRating ) diğer sayfada ise kullanının etkinlik oluştuma sıralamasındaki konumu (DuzenleyenRating) gösterilir.

My Events ( Etkinliklerim )

MyEvents1 MyEvents2

Api Adresi

  • api/v1/Event/Event/CreatedOrProcessedEvents/2

Bu adresten etkinlikler çekilerek kullanıcının katılım sağladığı etkinlikler ve kendi oluşturduğu etkinlikler listelenir. Yukarıda bulunan dropdown kullanılarak listelerde değişim sağlanır.

MyEvents3

My Events sayfasında etkinlik sahibi etkinliklerin üzerine tıklayarak açtığı dialog’ta aşağıdaki işlemleri gerçekleştirebilir.

  • Davetli listesini görme , etkinlik istatistiklerini görme , gelen katılım isteklerini görme ve reddetme , bekleme listesini görme , bekleyenler arasındaki sıralamayı değiştirme ve sıradaki kullanıcıyı bekleyen listesinden davetli olarak atma ( guest list )
  • Geçerli etkinliğer rehberdeki kullanıcıları link ile davet etme , arkadaş gruplarını davet etme , arkadaşları davet etme , sistemde olmayan bir kişinin link ile sisteme kaydını sağlayarak etkinliğe davetli olarak ekleme ( invite )
  • Etkinliği paylaşma ( share )
  • Seçtiği kullanıcılara etkinlik için oluşturulan qr’ları okuma yetkisi verme , verdiği yetkiyi alma
  • Etkinlik kapasitesini güncelleme

Guest List ( Davetli Listesi )

GuestList1

Api Adresi

  • api/v1/Event/EventDavetli/GuestsByEventId/{EventMasterId}

Etkinliğe katılan kullanıcılar durumları ile birlikte listelenir. Etkinlik sahibi isterse kullanıcıları davetli listesinden çıkarabilir.

Event Statistics ( Etkinlik İstatistikleri )

EventStatistics1

Api Adresi

  • api/v1/Event/Event/Statisctics/{EventMasterId}

Kaç kullanıcının davetli olduğu , yüzde kaçının qr’ı olduğu ( daveti kabul etti veya katılım isteği kabul edildi veya genel bir etkinliğer katılım gösterdi ) , bekleme listesindeki kullanıcı sayısı ve katılma isteğinde bulunan kullanıcı sayısı bilgileri bu ekranda görüntülenir.

Waiting List ( Bekleme Listesi )

WaitingList1

DavetDurum alanı 5 olan bekleme listesinde sıralarına göre listeye yerleştirilir ve kullanıcı long press işlemi yaparak davetli listesindeki sıralamayı değiştirebilir. Take It Ordinary butonuna basarak her zaman bekleme listesinin 1. Sırasındaki kişiyi davetli olarak ekler ( bu kişi bekleme listesinden düşer , davetdurum alanı değiştirilir ve qr kodu oluşur )

Api Adresleri

  • api/v1/Event/EventDavetli/GuestsByEventId/{EventMasterId}
    Etkinliğe davetli kullanıcılar ve durumlarını döner
  • api/v1/Event/Event/ReorderWaitList
    Long press işlemi ile waiting listte bir sıralama değişikliği yapıldığında çalışır ve TblEventDavetli tablosundaki Sira alanını günceller
  • api/v1/Event/Event/TakeItFromWaitList/{EventMasterId}
    İlgili etkinliğin waiting list'inde ilk sıralamaya sahip kullanıcıyı davetli olarak atar ve kullanıcıya qr kodu oluşturur

Requests ( Katılım İstekleri )

Requests1

Api Adresi

  • api/v1/Event/EventDavetli/GuestsByEventId/{EventMasterId}

Bu adresten gelen data içerisindeki DavetDurum’u TalepEdildi (4) olan kayıtlar listelenir. Etkinlik sahibi bu isteği kabul veya reddedebilir.

Authorize ( Qr Okuma Yetkisi Verme / Alma )

Authorize1 Authorize2

Api Adresleri

  • api/v1/Event/EventFriends/GetMyFriendsWithAuthorizationInfo/{EventMasterId} Kullanıcının tüm arkadaşları bu etkinliğe dair yetki bilgisi ile birlikte getirilir.
  • api/v1/Event/EventQrYetki/CreateRange Kullanıcılara yetki verilen metot.
  • api/v1/Event/EventQrYetki/DeleteYetkiliWithList Kullanıcıların yetkilerinin silindiği metot.

Authorize Users sekmesinde bu etkinlik için qr okuma yetkisi verilmemiş arkadaşlar listelenir. Çoklu seçim yapılarak kullanıcılara yetki verilebilir. Bu yetkiye sahip diğer kullanıcılarda etkinlik için oluşturulan qr kodlarını telefonları ile tarayarak davetlileri içeri alabilir.
UnAuthorize Users sekmesinde qr okuma yetkisi verilen arkadaşlar listelenir. Etkinlik sahibi bu listeden seçim yaparak kullanıcıların yetkisini silebilir.

Update Capacity ( Etkinlik Kapasitesi Güncelleme )

UpdateCapacity1

Api Adresi

  • api/v1/Event/Event/UpdateCapacity Etkinlik sahibi kapasiteyi istediği gibi artırıp azaltabilir.

Ayarlar

Ayarlar1 Ayarlar2

Kullanıcı ayarlar kısmına girerek yazı rengini ve temayı değiştirebilir. Temalar ColorConstant.dart isimli dosyada bulunur.

Profil Sayfası

Profil1 Profil2 Profil3

Api Adresleri

  • api/v1/General/Kullanici/GetOwnUser
  • api/v1/General/Kullanici/GetById/{UserId}
  • api/v1/HumanResources/KisiKimlik/GetByKisiTarih
  • api/v1/General/Kullanici/Update

Diğer uygulamalardan farklı olarak kullanıcılar bu uygulamada 2 adet profil resmi kaydedebilmektedir.Resimler update metoduna atılan istekte ProfilResmi alanına ; ayracı ile birlikte kaydedilir.
Seepree için TblSSOKullanici tablosuna DogumGunu isimli alan eklenmiştir. Çalıştırılacağı db’deki tabloda bu alan eksikse eklenmelidir.

Profil4 Profil5

Api Adresleri

  • api/v1/Event/EventDavetli/GetStatsByKullaniciId Kullanıcın seçilen tarih aralığındaki istatistiklerini getirir. Ayrıca kullanıcı kırmızı renk ile işaretli kısımlara tıklayarak katıldığı etkinlikler ve oluşturduğu etkinlikler listesini görebilir.
  • api/v1/Event/EventBlacklist/GetMyBlacklist Kullanıcın kara listesine eklediği kullancılar listelenir. Bu kullanıcıların sağ tarafındaki çarpı butonuna tıklayarak kullanıcıları kara listeden çıkarabilir.
  • api/v1/Event/EventBlacklist/Delete/{UserId} İlgili kullanıcı kara listeden çıkarılır

My Friends (Arkadaşlarım)

MyFriends1 MyFriends2 MyFriends3

Api Adresi

  • api/v1/Event/EventFriends/GetMyFriends

Kullanıcının arkadaşlarının listeletildiği ekrandır. Arkadaşlar içerisinde arama yapılabilir.Yeni bir grup oluşturulabilir. Listenin her bir satırının sonundaki 3 noktalı kısma tıklanarak kişinin profiline bakılabilir , oluşturulan bir etkinliğe davet edilebilir , kişi arkadaşlıktan çıkarılabilir yada kara listeye eklenebilir.

New Group ( Yeni Arkadaş Grubu Oluşturma )

NewGroup1 NewGroup2 NewGroup3

Api Adresi

  • api/v1/Event/EventGroup/CreateGroupWithKullanici

New group sayfasının üst kısmında gruplar , alt kısmında ise arkadaşlar listelenir ve arkadaş grubuna dahil edilmek istenen kullanıcılar işaretlenerek 2.resimdeki butona tıklanarak grup detaylar ekleme sayfasına geçilir. Bu sayfada grop ismi ve resmi seçilerek grup oluşturulur.

Arkadaş Grubu İşlemleri

Api Adresleri

  • api/v1/Event/EventGroup/GetGroupUsersByGroupId/{GroupId} Gruptaki kullanıcıları döner
  • api/v1/Event/EventGroup/GetMyFriendsNotInGroup/{GroupId} Kullanıcının ilgili gruba dahil olmamış arkadaşlarını döner.
  • api/v1/Event/EventGroup/AddFriendToGroup Seçilen kullanıcıları ilgili gruba dahil eder
  • api/v1/Event/EventGroup/LeaveTheGroup/{GroupId} İsteği yapan kullanıcı geçerli gruptan çıkarılır.
  • api/v1/Event/EventGroup/DeleteFromGroup/{UserId}/{GroupId} İsteği yapan kişi grubu oluşturan kişi ise ilgili gruptan ilgili kullanıcı silinir.

My Friends sayfasında kullanıcı daha önce dahil olduğu arkadaş grupları üzerine tıklayarak bu gruba dahil işlem yapılabilen bir sayfaya yönlendirilir.

Ark1 Ark2
Ark3 Ark4

Add friends to group butonuna basarak gruba dahil olmamış arkadaşlarının listeletildiği bir ekrana yönlendirilir ve seçtiği arkadaşlarını bu gruba dahil edebilir.
Leave from group butonuna basarak bu gruptan çıkabilir.
Gruptaki kullanıcıların üzerine tıklayarak profillerine bakılabilir. Ayrıca grubu oluşturan kişi diğer kullanıcıları gruptan çıkarabileceği ve hem gruptan çıkarıp hemde karalisteye alabileceği iki ek seçenek daha görür.

My Qr Codes ( Qr Kodlarım )

MyQrCodes1 MyQrCodes2

MyEvents ile aynı sayfaya yönlendirilir tek farkı dropdrown’da Attended Events (Katıldığım etkinlikler) seçeneği seçili olarak gelir.

New Events ( Yeni Etkinlikler )

NewEvents1 NewEvents2

Api Adresi

  • api/v1/Event/Event/EventsInTheCurrentMonth/2 Bu adresten bitiş tarihi geçmemiş tüm etkinlikler ve kullanıcının bu etkinliklere ait davet durumları döner.

Bu data içerisinden aşağıdaki koşula sahip olanları listede gösteririz.

  • Etkinlik tipi özel ve katılımcı istek gönderemez olarak işaretlenmiş etkinliklerde kullanıcının davet durumunun katılan , beklemede yada davet edildi olduğu etkinlikler ( Etkinlik tipi özelse ve katılımcı istek gönderemez durumundaysa bu kullanıcı sadece davet edildiğinde bu etkinlikleri görebilir)
  • Etkinlik tipinin özel ve katılımcının istek gönderebildiği etkinlikler ( Bu tip etkinlikler listede gösterilir ve katılımcı katılmak istediğini bildirir kabul veya reddetmek etkinlik sahibinin görevidir. )
  • Tipi genel olan etkinlikler

Kullanıcı bu durumlara sahip etkinliklere katılabilir , katıldığı etkinlikten ayrılabilir , katılım isteği gönderebilir veya kapasitenin dolu olduğu durumda bekleme listesine girebilir .

Etkinlik Gösterimleri

New Events sayfasında etkinlikler aşağıdaki gibi 3 farklı şekilde gösterilir.

Etk1 Etk2 Etk3

Etkinliklerin üzerine tıklanıldığında bu etkinliklere dair genel bir bilgi ve yapılabilecek işlemleri barındıran (join , cancel gibi) dialog’lar açılır. Ayrıca 3. Resimdeki gibi markerin üzerine tıklanıldığında çıkan sarı ok’a tıklayınca etkinlik konumu google maps’te açılarak görüntülenir.

Etkinliğe Katılım İşlemleri

Api Adresleri

  • api/v1/Event/Event/Join Bu adres katılım isteği (join) yapılırken kullanılır .
  • api/v1/Event/Event/DavetAcceptOrReject Bu adres bir davetlinin daveti kabul veya reddedeceği zaman kullanılır.

Join1 Join2 Join3

Join butonuna tıklanarak etkinliğe katılım sağlanabilir. Eğer başarılı bir şekilde katılım sağlanırsa qr kodu oluşturulur ve bir dialog açarak gösterilir.
Eğer bir etkinliğin kapasitesi dolu ise bir dialog açtırılıp kullanıcıya bekleme listesine girmek isteyip istemeyeceği sorulur ve kabul ederse bekleme listesine alınır.Kullanıcı waiting list butonuna basarak bekleme listesinde kaçıncı sırada olduğunu görebilir.

Join4 Join5

Share butonlarıyla etkinliğe dair bilgiler paylaşılabilir.

Etkinlik Oluşturma Adımları

1.Adım

CreateEvent1

  • Event Name - alanı etkinlik adı bilgisi (TblEventMaster – Baslik kolonu )
  • Event Start Date – etkinlik başlangıç tarihi ( TblEventMaster – BaslangicTarihi )
  • Event End Date – etkinlik bitiş tarihi ( TblEventMaster – BitisTarihi )
  • Ticket Cancellation Date – bilet geçerlilik tarihi ( TblEventDetay – BiletGecTarih )

2. Adım

CreateEvent2 CreateEvent22

  • Ülke Seçimi – TblGeneralUlke tablosunda bulunan kayıtlar listelenerek seçim yapılır
  • İl Seçimi – TblGeneralIl tablosunda bulunan kayıtlar listelenerek seçim yapılır , İl seçimi yapıldığında ilin lokasyon bilgisi alınarak select location kısmında açılan haritaya setlenir.
  • Venue Name – Mekan Adı ( TblEventDetay – MekanAdi )
  • Adress – Adres Bilgisi ( TblEventMaster - Adres)
  • Lokasyon Bilgisi – (TblEventMaster Longitude , Latitude) , üzerine tıkladığında ekranı kaplayan bir dialog açılarak il seçimi kısmındaki ilin lokasyon bilgisi bulundu ise bu lokasyon üzerinde marker setli olarak gelir eğer seçili ilin konum bilgilerine erişilemediyse içeride tanımlanan default konuma marker setlenir.Marker haritadaki bir noktaya tıklama usulü ile çalışır , sürükle bırak şeklinde değildir.

3. Adım

CreateEvent3

  • Public , Private seçimi etkinliğin özel bir etkinlik mi genel bir etkinlik mi olduğu bilgisidir. Public default olarak seçili gelir ve aşağıdaki bilgiler doldurularak ilerlenir.
  • Limitless – Etkinlik kapasitesinde limit olup olmayacağı bilgisi ( TblEventDetay - LimitsizMi)
  • Event Capacity – Etkinlik Kapasitesi bilgisidir. ( TblEventDetay – Kapasite )
  • Age Limit – Etkinliğe yaş sınırı konmak istenirse üzerine tıklanıp altta açılan alana değer girilmelidir ( TblEventDetay – YasSiniriVarMi , Yas )

CreateEvent32

  • Show Guest List – Davetli listesinin diğer davetlilere gösterim şeklidir.İşaretlenmezse davetli listesi diğer davetliler ile paylaşılmaz. Açılan seçimler All Guest – tüm davetli listesi davetliler tarafından görülebilir. Mutual Friends – ortak arkadaşlar birbirini görebilir.

CreateEvent33

  • Guest Can Invite – Davetli davet gönderebilsin mi bilgisi ( TblEventDetay – DavDavetGon )
  • Show event owner info – Davet sahibi bilgileri gösterilsin mi bilgisi eğer işaretlenirse etkinliklerin üzerine tıklanınca açılan dialoglarda etkinlik sahibi bilgileride yer alır . ( TblEventDetay – EtkSahibiGos )
  • Join request may be send - Eğer Özel ( Private ) etkinlik tipi seçilir ise bu kısım aşağıdaki seçeneklere eklenir. Katılımcı katılma isteği gönderebilir mi bilgisidir. ( TblEventDetay – KatilimIstekGon )

4. Adım

CreateEvent4

  • Event Description – İstenirse etkinlik ile ilgili bir açıklama eklenebilir (TblEventMaster – Aciklama kolonu)
  • Fotoğraf seçimi 3 şekilde gerçekleşir.
  • Upload Cover Photo – Telefonda bulunan bir resmin seçilebilmesini sağlar.
  • Choose From Catalogue – TblEventGaleri tablosuna kayıtlı resimler bir dialog’ta gösterilerek seçim yapılabilir.
  • Take a Photo – Telefon kamerasını açarak resim çekip ekleme yöntemidir.

5. Adım

CreateEvent5

Bu adımda etkinliğe dair genel bilgiler bir dialog üzerinde görüntülenir ve etkinlik yayına alınır.

Qr Scanner ( Qr Kodu Okutma )

QrScanner1 QrScanner2 QrScanner3

Click, Select Event and Scan Qr butonuna basılarak 2. resimdeki gibi kullanıcının qr kodu tarayabileceği etkinlikler listelenir.Kullanıcı bunlardan birini seçerek qr kodunu okur ve 3. resimdeki gibi sonucu görür. Uninvited okunan qr kodunun bu etkinliğe ait olmadığı yada bilet geçerlilik tarihi geçtiği anlamına gelir. Invited ise qr kodunun geçerli olduğu durumdur.

Api Adresleri

  • api/v1/Event/Event/GetScanableEvents Kullanıcının tarayabileceği ( kendi oluşturduğu veya başkası tarafından yetkilendirildiği ) etkinliklerin listesini döner
  • api/v1/Event/EventQrYetki/ReadQr Qr kodu taratıldığında bu adresi istek atılarak ilgili etkinlik için geçerli bir qr kodu olup olmadığı , bilet geçerlilik tarihi geçip geçmediği kontrolleri yapılarak sonuç dönülür