Skip to content

This is the code repository for my final year project (FYP) in NTU. The project is named "Next-Generation Tour Guide - an AR Travel Assistant", which is expected to design and develop an Android app to create a modern travel experience for travellers by applying some advanced technologies.

Notifications You must be signed in to change notification settings

ycrao573/ar-tour-guide-fyp

Repository files navigation

Travelee

Your next-generation tour guide, Your trustable travel assistant.

This is the code repository for my final year project (FYP) in Nanyang Technological University. The project is named "Next-Generation Tour Guide - an AR Travel Assistant". It is a full-stack mobile application development project, which is expected to design and develop an Android application to create a modern travel experience for travelers by applying some advanced technologies.

The total duration of this final year project is around 10 months, starting from the mid of August, 2021, whereas the whole development process starts from mid of September, 2021. It is expected to be fully completed by March.

Significance of this Project

  • Identify some inconveniences and pains encountered by today's travellers
  • Discover the potential technologies that may help enhance the current travel experience
  • Develop a mobile app to introduce a modern travel experience and demonstrate a vision for future travel
  • About Travelee

    Why named Travelee?

    The suffix -er is used to describe a person or thing that does or provides an action.

    The suffix -ee describes the person or thing that receives the action.

    • Traveler - a person who travels
    • Travelee – the thing receives the action => travelling

    Target users

    Whether you are a traveler who has just arrived in Singapore, or a traveler who is already here but wants to explore or rediscover Singapore. You will need and feel interested in our products.

    Product Positioning

    • A smart travel assistant who always is ready to provide travellers with what they need right at their fingertips.
    • A reliable companion who can help travellers navigate their neighbourhood easily and travel with confidence with the presence of Travelee s
    • A local culture ambassador who aims to promote local tourism and introduce local culture to global travellers

    Our Objectives

    • Use modern technology to enhance the current travel experience.

    • Help travellers better explore the city and discover popular places nearby.

    • Present travel-related information in a more intuitive way.

    • Offer travellers necessary and convenient tools.

    Highlights

    Live View AR Experience

    Augmented Reality (AR) is used here to enhance the view of your surroundings! Simply Use your phone’s camera to unlock a new way of exploring nearby places!

    • Places are displayed as virtual signs in all directions of the camera view
    • Get live distances and useful information for each place with just one click!
    • Support 3 predefined categories: shopping centres, MRT stations, tourist attractions
    • Flexible distance filtering: Avoid places flooding!
    • [NEW!] Support user-customized places. Add and view any place you care about! (Preview)
    • [NEW!] Support multi-user real-time location tracking with AR enabled. Location sharing within your tour group! (Preview)

    AR SDK resource:

    Data resource:

    Landmark Detection

    This intelligent detection leverages the power of Google AI Cloud and its powerful pretrained ML model. In short, search whatever you see!

    • Recognise landmarks around the world from camera/your gallery, and get the result within 3 seconds!
    • Robust detection: The detection works best if it's a well-known landscape. Even it's not a landmark, we will still try to provide our best guessed result using web detection.
    • Aesthetic and easy-to-use UI: Seamless photo upload process, intuitive result presentation and useful discovery tools.

    API resource:

    Place Recommendation

    • Get real-time recommendation on interesting places nearby, e.g., activities, landmarks, restaurants

    • Automatic notification push: Travelee will notify you if

      • if you are close to one of popular landmarks
      • if you’ve made your way to the destination
    • Automatic recommendation push: recommend popular places nearby occasionally

    Data resource:

    Convenient Travel Service

    • Weather info: Get the latest weather conditions based on the user's location
    • COVID-19 Support: Travel safely and confidently with one-click access to latest local COVID-19 situation and safety information

    Achievement System (Preview)

    • [NEW!] Achievement Scoreboard Keep track of the number of places, cities you've been to and badges collected so far
    • [NEW!] Badge Collection Display your collection of badges, including achievement tasks and visited cities
    • [NEW!] Rewards Claiming Claim rewards by scanning landmarks directly

    API resource:

    Technical Content

    Tech stack involved

    Travelee is an Android application mainly developed using Flutter SDK. It should be installed and run smoothly on any Android devices that support Google AR services. Theoretically, with certain configuration and debugging, it should also support iOS devices. However, considering time, labour, and device cost [I didn't own a Mac machine :(], this project will only focus on Android development.

    Programming Languages:

    ​ Dart (Flutter), HTML/JavaScript/CSS (Wikitude), Python (for web scraping & data cleaning)

    Software SDKs:

    ​ Flutter SDK, Wikitude SDK, Android SDK

    Cloud Support:

    ​ Google Authentication, Google Vision API, JSONBin.io, Firebase [Authentication & Firestore]

    Other Skills:

    ​ Knowledges on JSON, XML, YAML, Gradle, Markdown, Networking

    Difficulties met

    1. Global outage: JFrog to Shut down JCenter and Bintray, click here for more information. It is suggested to migrating all the dependencies to Maven Central. Detailed implementation can be found in the commit done on Jan 13th.
    2. Uneasy configuration needed for merging Wikitude AR SDK into Flutter SDK. Best way to deal with it to post or search your question in Wikitude's Support Community.
    3. Google Vision AI provides no Flutter support on its Landmark Detection and Web Search features. We need to build the process including image processing, Service authentication, API calling, data formatting and visualisation from the scratch. Detailed implementation can be found in credentials and recognition engine, which is based on Google API Client Library v1.

    Special thanks to the valuable online resources that have been of great help to this project: ()

    Acknowledgement

    Firstly, I would like to extend my gratitude to my supervisor, A/P Ling Keck Voon, for guiding and supporting me throughout this long journey. His involvement in our regular bi-weekly meeting helped me stay on schedule and present my ideas better. He provided me with valuable ideas and suggestions to improve the project. Meanwhile, I want to thank A/P Jong Ching Chuen for taking his precious time to review this project.

    In addition, I would like to express my thanks to the online developer community for providing powerful open-source libraries and valuable blogs that have assisted in the development of this project. I would also like to thank everyone in our FYP group who shared their great ideas and feedback to help others with their projects.

    Finally, I would like to thank my family, who has been supporting me during the pandemic, and my friends who have accompanied me during these years at NTU.

    It's never been an easy journey, but I've enjoyed the whole experience of working on this project. Now I can proudly say that I could complete this final year project without compromising the standards I set for myself.

    Rao Yuchen March 2022

    About

    This is the code repository for my final year project (FYP) in NTU. The project is named "Next-Generation Tour Guide - an AR Travel Assistant", which is expected to design and develop an Android app to create a modern travel experience for travellers by applying some advanced technologies.

    Topics

    Resources

    Stars

    Watchers

    Forks

    Releases

    No releases published

    Packages