1 of 39

2 of 39

Team Mapster

Valdyn Hunt

David Sergio

Naji Kaddoura

Jason Campbell

5

3 of 39

4 of 39

5 of 39

6 of 39

Indoor Navigation

Find the shortest path to x

Where is the nearest coffee shop?

Where are the vending machines?

Where is the nearest cafe?

Where is the restroom?

Fire extinguishers?

Recycling bin?

Defibrillator?

Etc.

7 of 39

iNavig8

indoor navigation system

8 of 39

Architecture + Terminology

9 of 39

System Architecture

10 of 39

11 of 39

David Sergio

12 of 39

Coordinate System

  • We can convert from latitude and longitude to an xy-plane, which works well for small areas.
  • Two objects are used to calibrate the map using latitude and longitude.
  • Now, we can calculate the scale of our map.

13 of 39

Image file + xy-plane scaling factors

14 of 39

Shortest Path Algorithms

We implemented Dijkstra’s algorithm to calculate shortest path using bi-directional graph edges representing connections between points on a map.

Challenges

  • Dijkstra’s algorithm with Directed Cyclic Graphs can generate paths which are not necessarily the shortest. A continuation of this project would be adjust the data type or algorithm to better deal with cycles.

An interesting continuation of this project would be to implement additional algorithms. Other path-finding and related algorithms include A*, Bellman-Ford, Floyd–Warshall, and more...

15 of 39

Back-end Architecture

We created a Serverless backend RESTful API, written in Java and deployed using AWS Lambda and API Gateway. These are known as “Platform-as-a-service”

Features:

  • Part of the back-end code was reused as a library in the Android App
  • Cloud-based API Gateway
  • Scalable, export/import, deploy to different environments
  • Access management and usage plans, using API key and/or authentication

Challenges:

  • Much of the official documentation is in Python

16 of 39

User Management

We used a cloud-based user management system for login and register: Amazon Web Services - Cognito

Features

  • Easy-to-use JavaScript API
  • Triggers for additional functionality, such as analytics
  • Security

17 of 39

Naji Kaddoura

18 of 39

Naji

  • Database
    • Design
  • API
    • CRUD
  • Shortest Path
  • Front-End
    • Import & Export
    • Design

19 of 39

Challenges

Features

Services

  • Amazon Web Services

React

  • Learning
  • Search Bar For Destination
  • Text-to-Speech
  • Auto-Generate Connections

20 of 39

Jason Campbell

21 of 39

Design

Code

Document

  • Database Architecture
  • Flowsheets
  • Wireframes
  • Mockups
  • Coding
  • Debugging

22 of 39

Wireframes and Mockups

23 of 39

Demo: Admin User & Web Application

24 of 39

Challenges

Features

Performance

  • Frameworks NextJS

Third-party Applications:

  • Konva

Android:

  • Re-learning
  • Beacons
    • real-time tracking
  • Map
    • adding a 3rd dimension
  • Augmented Reality (AR)

25 of 39

Valdyn Hunt

26 of 39

Valdyn

  • Front-End App architecture, libraries, frameworks
  • React App Design
    • Design/Implement map design screen
    • Drag and Drop object creation
    • Data sidebar
    • Icons and Toolbar

  • Beacon Theory and research
    • How to find the user position without going into unneeded complexity
    • Reference Android app with Jason
      • Shows our beacons
      • Displays distance from each one

27 of 39

Early Javascript version, mobile design

28 of 39

29 of 39

BLE Beacons

30 of 39

Getting the GPS Coordinates

47.490157, -117.585002

(latitude, longitude)

31 of 39

32 of 39

Challenges

Features

  • Frameworks and libraries
    • NextJS, React, React-Konva, React-Bootstrap, Font-Awesome
  • Android
    • A little iPhone development experience, but no Android.

  • Android integration of Beacons
  • Custom icon sets, custom shapes
  • Multi-location connections, path
  • iPhone app
  • User Street View - Augmented Reality

33 of 39

Connections

Need for shortest path calcs

Note to self:

I cannot walk through walls.

34 of 39

Demo

35 of 39

36 of 39

Demo: Register

37 of 39

Demo: Design-mode

38 of 39

Demo: Shortest Path

39 of 39

Demo: Android App