#20220382 ECOSE | TRAVEL APP with React





PROJE KODU20220382
PROJE SAHİBİSeval Mercan
PROJE MALİYETİGoogle maps api için aylık 50 dolar
PROJE ÜNİVERSİTESİEge Üniversitesi
PROJE KATEGORİSİEndüstri ve Otomotiv
PROJE DANIŞMANIEmine Sezer



Dünyada çok fazla sayıda kültürel miras vardır ve süre gelen yıllar içerisinde insanların merak alanına girmektedir. Günümüzde insanlar kültür gezilerine vakit ayırmaktadır. Olabilecek minimum sürede çok sayıda yeri görüp gezmek istemektedirler. Bu nedenle insanların yapacak olduğu kültürel geziler için rota optimizasyonuna ihtiyaç vardır. Bu çalışmada; TSP (Gezgin Satıcı Problemi) - En Yakın Komşu Algoritması, Google MAP üzerinde rota optimizasyonu problemini çözmek için kullanılır. Bu çalışma ile , web üzerinde haritalarda numaralandırılmış çeşitli konumlar arasındaki en kısa rotayı bulmak için React Js , Javascript , HTML ve Google Maps SDK'larını kullanarak bir web sayfası geliştirilmektedir. Uygulama, web sayfalarında başarıyla uygulanmayı ve internet erişimi olan herkesin bu uygulamayı kullanabilmesi hedeflenmektedir.

Çalışma kapsamında, kullanıcı nerede olursa olsun bulunduğu konum baz alınarak başlangıç noktası belirlenmektedir ve buna uygun olarak araçla veya yürüme mesafesine göre çevredeki belirli diğer kültürel miras noktalarını en kısa yoldan gezilecek şekilde rota oluşturulmaktadır. Bu rota harita üzerinde anlık olarak takip edilebilmektedir. Ulaşılan her bir nokta kullanıcı veritabanında kaydedilmektedir. Bu sayede gezilen konumlar başka bir öneri rotasında eklenmemektedir. Yapılacak çalışmanın diğer rakiplerine göre farklılığı , kültürel miras kategorilerine ayrılarak farklı tarzda rotalar önermesidir. Bu çalışmada kullanıcının bulunduğu konuma göre sıfırdan rota belirlenmektedir. Belirli bir rota girildikten sonra gezilmek istenen plana bağlı olarak gezilmek istenilen gezi türüne (cafe/bar/müze/sanat) göre rota oluşturmaktadır.

İnsanlara telefonda tek bir tuş ile gezi rotası hazırlayabiliyoruz.

Tez çalışmasında yazılım dili olarak Javascript dilinin bir framework’ü olan React kullanılmaktadır . Kullanılmak istenen componentler ise HTML ,CSS üzerinden kişiselleştirilmektedir. Proje kodunda bir düzen sağlayabilmek adına Prettier ve EsLint kullanılmaktadır. Projede istenen veriler ,Redux teknolojileri kullanılarak https://rapidapi.com/hub sitesinden alınan endpointlere istek atarak gerçekleşmektedir. Kullanıcıların giriş ve kayıtlanma verilerini saklamak ve senkronize etmek için NoSQL bulut veritabanı olan Firebase kullanılmaktadır. Veriler tüm istemciler arasında gerçek zamanlı olarak senkronize edilmektedir ve uygulama çevrimdışı olunduğunda kullanılabilir durumda kalmaktadır. Harita bilgisi için node modüllerinden @material-ui/core , @material-ui/icons @material-ui/lab , @react-google-maps/api ,google-map-react paketleri kullanılmaktadır. Uygulamanın gerekliliği olan rota oluşturma için Dijkstra Algoritması kullanılmaktadır. Dijkstra algoritması en kısayolu belirlerken Greedy(Açgözlü) yaklaşımını kullanmaktadır. Yani bir düğümden diğer bir düğüme geçerken olası en iyi yerel çözümü göz önüne almaktadır. Her seferinde bir sonraki düğüme ilerleme Greedy yaklaşımına göre yapılmaktadır. Bu sayede harita üzerindeki belirli çapta bulunan kültürel miras noktaları tek seferde en kısa yoldan gezilebilmektedir.

Emine Sezer