Kayseri ulaşım Kayseri için oluşturulmuş bir akıllı şehir mobil uygulamasıdır. API'ler güvenlik açısından gizlenmiştir bu yüzden mevcut kod ile derlenen uygulama çalışmaz.
Uygulama önemli verilerin artık belediyeden alınamaması üzerinden Google Play'den kaldırılmıştır.
Uygulamayı APK dosyasını indirerek açabilirsiniz. İndirmek için tıklayınız.
Uygulamanın açılışında gösterilen olan bu bölümden kullanıcı uygulamanın istediği alanlarına erişebilir. Navigation Drawer ile de ekranı soldan sağa çekerek açılacak menüden de bölümlere erişim sağlayabilir.
Vatandaşlar öncelikli olarak bulundukları duraklara gelecek otobüsleri öğrenmek istemektedirler. Bu yüzden kullanıcıyı her defasında sabit bir bilgi için sayfa sayfa dolandırmaktansa, ana sayfaya en çok talep edilen bu bilgi eklendi. Böylece uygulama açılır açılmaz kullanıcıya kendisine en yakın duraktan geçen otobüsler ve bu otobüslerin ne zaman geleceği hakkında bilgi verilir.
- FusedLocationProviderClient metodu ile kullanıcının konumu enlem boylam olarak alınır.
- Aldığımız bu enlem ve boylam bilgisi, bize o enlem boylama en yakın mevcut durakları sunucudaki veritabanından dönderecek web servise gönderilir. Burada ayrıca adet sayısı gönderilen konuma en yakın kaç durağın dönderileceğini belirtir. Burada bu sayı 1'dir. Çünkü biz kullanıcıya en yakın durağı döndermek istiyoruz.
- En yakın durak verisi web servisten alındıktan sonra bu veri aldığı durak id'si karşılığında bize durak hakkında bilgiler veren API'ye yönlendirilir. Bu API ise bize durağa gelecek otobüs bilgilerini sunmaktadır.
- Tüm bu bilgiler Model'e eklendikten sonra RecyclerView(List)'e yüklenir ve kullanıcıya gösterilir.
- Kullanıcının güncel enlem ve boylam bilgisi uygulama tarafından her 5 saniyede bir istenir. Eğer yeni bir enlem ve boylam bilgisi gelmiş ise LifeCycle ile oluşturulmuş bu liste yenilenir. Bu değişikliğin oluşmabilmesi için 30 metre yer değişikliği gerekmektedir. Listenin otomatik yenilenebilmesi için bu listedeki veriler ROOM veritabanına kayıt edilir ve devamlı sistem tarafından konum değişikliği takip edilir. Liste yenilendiğinde Adım 2'e geçilir.
Kullanıcılar Kayseri sınırları içerisinde bir konumdan başka bir konuma hangi alternatif hatlar ile gidebileceğinin bilgisinin sunulduğu bölümdür.
- Kullanıcı ekrana basılı tutarak başlangıç ve gidiş noktası seçer.
- Kullanıcıya seçtiği noktalar arasında giden hatlar liste olarak sunulur.
- Baz alınacak duraklar: Başlangıç noktasının 500 metre çapında ve gidiş noktasının 1 km çapındaki duraklardır.
- Yürüme mesafesi 1500 metre üzerinde olamaz.
- Çizilen rota: Mevcut konumunuzdan ilk durağa. İlk duraktan son durağa. Son duraktan gidiş noktanıza.
Liste, Harita ve Hatlar adlı üç bölümden oluşur. Otobüs, duraklar ve hatlar hakkındaki tüm işlemlerin yapıldığı, bilgi alındığı genel bölümdür.
- Kullanıcının mevcut konumuna en yakın 20 durağın listelendiği bölümdür. Bu duraklar kullanıya en yakın duraktan başlayarak listelenir ve kullanıcının durağa olan uzaklığı metre cinsinden belirtilir.
- Kullanıcı bu duraklara Haritalar uygulamam vb. yöntemler ile yol tarifi alabilir.
- Kullanıcı bu duraklardan geçecek otobüsleri ve bu otobüslerin ne zaman geleceğine dair bilgi edinebilir. Eğer çok fazla geçecek hat var ise bu hatlar arasında arama yapabilir.
- Kullanıcı bu duraklardan geçen tüm hatları görebilir.
- Duraktan geçen hatlar arasında arama yapabilir. Hat hakkında detaylı bilgileri alabilir.
- Kullanıcı durakları favorilerine alabilir ve sadece favori duraklarını görüntüleyebilir. Parlak yıldızlar durakların favorilerde olduğu anlamına gelir.
- Kullanıcı durakta bulunan barkodu telefonunun kamerası ile okutarak o durağın listede görüntülenmesini sağlar.
- Kullanıcı veritabanındaki 6000 durak arasından arama yapabilir. Bu aramada durak no'su veya durak adı veritabanında var ise veri döner. Örneğin: Arama kısmına 10 yazar isek, bize önce eğer varsa durak no'su 10 olan durak döner devamında ise içerisinde 10 kelimesi geçen duraklar döner. (Atatürk Bulvarı 10 caddesi gibi)
- Bu kısımda kullanıcının konumuna değil ekranın orta noktasındaki konuma en yakın 20 durak listelenir.
- Listelenen duraklar ekranın köşe noktaları ile sınırlıdır. Ekran dışında kalan duraklar getirilmez.
- Listelenen durak sayısı 20'den az olabilir ama 20'den fazla olamaz.
- Favoriye alınmış duraklar yıldız simgesi ile listelenir.
- Durakların üzerine tıklanarak yol tarifi alınabilir, favorilere eklenebilir, geçecek otobüslerin bilgisi edinilebilir.
- Kullanıcı haritayı her hareket ettirdiğinde durak verileri güncellenir.
- Harita gösterim metodu değiştirilebilir.(Uygu görünümü gibi)
- Burada oluşturulan web servisin beklediği veriler : Kullanıcının konumu(enlem ve boylam), ekranın tam orta noktasının konumu ekranın Kuzeydoğu noktasının konumu ve ekranın Güneybatı noktasının konum bilgisidir.
- Bu kısımda kullanıcılar hatlar hakkında detaylı bilgi alır.
- İlk olarak konumuna en yakın 5 duraktan geçen hatlar listelenir.
- Hattın geçtiği tüm duraklar harita üzerinden görüntülenebilir.
- Hattan geçen otobüslerin mevcut konumu eğer veri var ise haritada görüntülenecektir.
- Otobüslerin mevcut konum verisi devamlı güncellenmemektedir. İleride MVVM pattern ile otobüsler canlı olarak takip edilebilir.
- Kayseri'de bulunan nöbetçi eczanelerin verileri kullanıcıya gösterilir.
- Eczaneler Gece 1'e kadar veya 24 saat açık olma durumlarına göre farklılık gösterebilir. Bunlar renklendirilmiştir.
- Kullanıcının konumuna göre en yakın eczaneden başlanarak eczaneler listeye eklenir.
- Eczaneler aranabilir ve yol tarifi alınabilir. Yol tarifi daha önce gördüğünüz dialog penceresi ile alınır.
- Kayseri'de sisteme kayıt edilen günlük vefat bilgilerinin listelendi bölümdür.
- Geçmiş tarihe ait vefat bilgilerine tarihin üzerine tıklayarak ulaşılabilir.
- Mezarlık veya Taziye adresine yol tarifi alınabilir.
- Geçmiş tarihe ait veriler için web servise seçilen tarih verisi POST edilir.
- Kayseri'deki otoparkların konumları gösterilir.
- Kullanıcıya uzaklıklarına göre listelenir.
- Katlı ve katsız otopark olarak 2'ye ayrılır. h- Otoparklara yol tarifi alınabilir.
- Kayseri'deki bisiklet noktalarının konumları gösterilir.
- Bisiklet noktaları kullanıcının mevcut konumuna göre listelenmeye başlar.
- Bisiklet istasyonlarının doluluk oranları listede belirtilir.
- Doluluk oranı; İstasyondaki mevcut bisiklet sayısı / İstasyondaki toplam bisiklet yuvası şeklinde gösterilir.
- Eğer istasyon boş ise liste kırmızı, doluluk oranı %20 ve altındaysa turunca üstünde ise yeşil olarak renklendirilir.
- İstasyonlara yol tarifi alınabilir.
- Tüm istasyonlar harita üzerinde de görüntülenebilir.
Kayseri BüyükŞehir belediyenin paylaştığı haberler kullanıcıya gösterildiği bu bölümde veriler HTMP Parse edilerek alınmıştır. Bunun için jSoup kütüphanesi kullanılmıştır.
Haberin üzerine tıklanarak haber hakkındaki detaylara bir diyalog penceresi aracılığıyla ulaşılabilir.