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
- 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.
- Design and define tables for MySQL database (buildings, bathrooms, professors, students, etc.)
- Write Python methods for interacting with database: query for building/room number, professor name, etc.
- Design objects and begin implementing Python method for parsing JSON data - parse out objects/attributes to be used in shortest path algorithm
- Create user interface layout with Bootstrap - create simple view with no functionality
- Query Page only needs to submit source and destination input
- Results page will roughly include mapping elements with toggles for source/destination floorplans
- Define format of search query data that frontend will send to business logic for processing
- Set up Git repository
- Set up Project Status Website
- Design elevator speech
Week 2: March 27 - April 2 - Implement search query and shortest path calculation
- Setup cloud database and load with data
- Finish implementing JSON parsing method
- Write Python code for shortest path algorithm (first iteration without any heuristics)
- 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
- Design and add frontend search view and implement click interactions.
Week 3: April 3 - April 9 - Implement indoor/outdoor navigation logic and direction sequence
- Migrate app to shared server / cloud service
- Write code for producing final directions and maps
- Integrate Google Maps API
- Differentiate and define transitions between indoor and outdoor maps
- Load and serve necessary floor plans to frontend
- Create text directions (e.g. take elevator to 3rd floor)
- Draw navigation lines on top of floor plans
- 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
- Finish all week 3 tasks
- Make connections between all parts
- Prepare prototype demonstration
April 14: Project Prototype Due
Week 5: April 17 - April 23 - Add nearest functionality, setup login, expand database
- Write code to locate nearest bathroom (printer, etc.)
- Setup CAS login
- Polish user interface (add icons etc.)
- 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
- Write code to use current location as starting point
- Make any modifications necessary to ensure proper functioning and UI display on mobile platforms
- Improve/add heuristics to shortest path algorithm
- Prepare alpha test demonstration
April 28: Alpha Test
Week 7: May 1 - May 7 - Finalize beta version
- Debug and retest alpha test feedback
- Prepare beta test demonstration
- Begin writing product guide and final report
May 4/5: Beta Test
Week 8: May 8 - May 14 - Final project implementation and report
- Debug and retest beta test feedback
- Prepare demo day presentation
- Finish product guide and final report
Project Demonstration
May 14 - Project Due