TigerNav

Princeton University's indoor and outdoor navigation web app.

What's TigerNav?
What It Does
Past Progress
Future Development
Currently Mapped Buildings

Check out TigerNav here!

Project Design Doc

View the Project on GitHub

Past Progress / How This Was Developed

Check out our original design document here, or just get a sense of our original timeline below.

Week 1: March 20 - March 26 - Gather data, write initial querying/parsing code, create UI layout

  1. Use Angela’s independent work GUI to create JSON node and POI data for floor plans of initial building set: Frist, Blair Hall, Buyers Hall, and Computer Science. Also create a system for how POIs within these data will be named to ensure consistency across buildings.
  2. Design and define tables for MySQL database (buildings, bathrooms, professors, students, etc.)
  3. Write Python methods for interacting with database: query for building/room number, professor name, etc.
  4. Design objects and begin implementing Python method for parsing JSON data - parse out objects/attributes to be used in shortest path algorithm
  5. Create user interface layout with Bootstrap - create simple view with no functionality
    1. Query Page only needs to submit source and destination input
    2. Results page will roughly include mapping elements with toggles for source/destination floorplans
  6. Define format of search query data that frontend will send to business logic for processing
  7. Set up Git repository
  8. Set up Project Status Website
  9. Design elevator speech

Week 2: March 27 - April 2 - Implement search query and shortest path calculation

  1. Setup cloud database and load with data
  2. Finish implementing JSON parsing method
  3. Write Python code for shortest path algorithm (first iteration without any heuristics)
  4. Write Python code for receiving frontend search queries, processing, and calling the necessary SQL query methods, e.g. query for professor name > get office location > query for office location > get JSON data
  5. Design and add frontend search view and implement click interactions.

Week 3: April 3 - April 9 - Implement indoor/outdoor navigation logic and direction sequence

  1. Migrate app to shared server / cloud service
  2. Write code for producing final directions and maps
  3. Integrate Google Maps API
  4. Differentiate and define transitions between indoor and outdoor maps
  5. Load and serve necessary floor plans to frontend
  6. Create text directions (e.g. take elevator to 3rd floor)
  7. Draw navigation lines on top of floor plans
  8. Write Javascript code to receive necessary navigation info from business logic and display sequence of directions/maps

Week 4: April 10 - April 16 - Connect all modules and finalize prototype

  1. Finish all week 3 tasks
  2. Make connections between all parts
  3. Prepare prototype demonstration

April 14: Project Prototype Due

Week 5: April 17 - April 23 - Add nearest functionality, setup login, expand database

  1. Write code to locate nearest bathroom (printer, etc.)
  2. Setup CAS login
  3. Polish user interface (add icons etc.)
  4. Expand from initial building set - add more floor plans received from OIT to database

Week 6: April 24 - April 30 - Finalize all features for alpha version

  1. Write code to use current location as starting point
  2. Make any modifications necessary to ensure proper functioning and UI display on mobile platforms
  3. Improve/add heuristics to shortest path algorithm
  4. Prepare alpha test demonstration

April 28: Alpha Test

Week 7: May 1 - May 7 - Finalize beta version

  1. Debug and retest alpha test feedback
  2. Prepare beta test demonstration
  3. Begin writing product guide and final report

May 4/5: Beta Test

Week 8: May 8 - May 14 - Final project implementation and report

  1. Debug and retest beta test feedback
  2. Prepare demo day presentation
  3. Finish product guide and final report

Project Demonstration

May 14 - Project Due

TigerNav Logo