TL;DR

Links:

Disclaimer: GGC Maps is a not an official campus map application endorsed or approved by Georgia Gwinnett College (GGC). It is a testing prototype, which was independently developed by students while satisfying generic course requirements that were not specific to creating this application. GGC faculty involved were not directed by any official GGC sponsored project and worked independently in their own times to help students to develop the app only using incidental GGC resources such as campus Wifi connectivity. No special hardware or software were used other those that are available to all GGC students and faculty.

Briefly

GGC Maps is a student-created interactive web application to improve navigation on the Georgia Gwinnett College campus. The app’s main purpose is to to allow finding exact location of rooms inside buildings, and it features being very lightweight, load quickly, and work offline using the Persistent Web Application (PWA) standard.

One of the biggest success of this project was its student following. Every semester since its inception in Fall 2016, one more student teams have been working on improving it and adding new features because it was so useful to the campus community. As a result, it has gained hundreds of users across the campus through word of mouth despite not being an officially endorsed or promoted application. It is currently being maintained by two GGC software development concentration students/alumni Mike Deiters and David L Rivera Rocha.

Features

Major features of the project include:

  • Hand-drawn zoomable, high-quality SVG vector format maps of campus and every building and floor
  • Finding rooms in all campus buildings based on room number or name
  • Auto-completion (broken as of Fall 2018)
  • Listing of news items and locations from school calendar
  • Safety toggle that shows an overlay of items such as fire extinguishers, severe weather shelters, and defibrillators
  • Parking legend for whole campus
  • Persistent web application feature that can work offline using mobile browser service worker architecture (broken as of Fall 2018)

History of the project

Fall 2016 (base application framework with all maps)

In the Fall 2016 semester, the ITEC 3870 Software Development 2 (SD2) course professor Cengiz Gunay recruited arts professor Catherine Moore to supervise class projects. Prof Moore thus proposed the original concept of an interactive campus map to the developer students as something direly needed on campus. Dr Gunay assigned Prof Moore two student teams, who were in competition with each other. Each team would work secretly from the other, and at the end of the semester, they will compete to provide the best campus map solution.

The first competing team (link to final demo), composed of Christopher “Cody” Cates, Adam Printz, Lance Toornman, and Eric Kim, maintained their assigned title and developed a campus map application titled “Campus Map 1”. They used the AngularJS framework to design a mobile-friendly web application that reused existing JPEG campus map images found on the school website. This project also successfully demostrated automated unit testing using the Karma, Jasmine, and Protractor toolchain on the TravisCI continuous integration service. Their main and unique contribution was the ability to list campus events that were read from a OneDrive document editable by faculty. Even though this functionality was complete, it required using a specific account, which made it difficult to be adopted widely.

The second competing team (link to final demo), composed of Michael Deiters, Narith Seang, and Aston Tsou, created the application titled Gwinnett Grizzly Maps (GGM). This was a web app was written from scratch in HTML/CSS/Javascript without using any libraries or frameworks. It was designed as a single-page application that required no back-end functionality (e.g., no database or server-side execution). This allowed the project to be easily hosted on a static content server, such as Github Pages. We later referred to the structure of the program affectionately as “Mike Deiters Framework” as he was the architect. It worked fast and was compatible with both desktop and mobile browsers. It contained a campus map with buildings and parking lots, and individual maps for each floor of every building. The real impressive part of this application was that the team painstakingly hand-drawn all the campus buildings room by room such that zoomable and completely interactive maps at the room level were available. This allowed clicking on individual rooms, highlighting them, and many other future potentials.

As overall looks and performance of the second GGM team was superior, they won the competition and their project became available for future student teams to develop further.

Spring 2017 (offline PWA feature)

The second semester of GGC Maps development continued in the SD2 course (link to final demo) with a student team composed of David Rivera Rocha, Josh Gerth, Carlos Pacheco-Perez, and Margaret “Maggie” Muse. The major new functionality added to the application was the Persistent Web Application (PWA) feature by David that allowed the app to act like a native mobile app and allow installing on the home page of mobile devices. The PWA technique uses the service worker feature of modern browsers of keeping persistent data and running outside of the browser in a single instance. This feature also brings offline functionality as cached data can be read from the service worker. David also established a collaboration with the BrowserStack company to allow extensive cross-platform testing of the application and make it much more compatible with different platforms and browsers. The team also achieved many bugfixes in this iteration of the development, with some newly added features that included:

  • features section in the help menu
  • developer documentation section on Github
  • contributor license for future development
  • new logo

At the end of this iteration, David became one of the permanent maintainers of the project, joining Mike Deiters.

Fall 2017 (event listing, safety mode, predictive search, added parking lots and buildings)

The third semester of development had another competition between two teams. However, this time the teams decided not to compete, but to collaborate with each other. This was despite the instructor Dr Gunay’s attempts to create a cut-throat competition environment with a winner and loser. Instead, the two teams planned their proposed features for the semester to be separate from each other, such that they can both be incorporated into the final product. This created an efficient develpment environment with a lot of new features ended up getting added to GGC Maps.

The first team, Adventuras, (link to final demo) was composed of Bryan Yeap, Matt Soucy, Robert Westervelt, and Nilaja Williams. This team contributed most during this semester. They were responsible for features as:

  • Event listing: A new menu item allowed listing events read from the college calendar website and link to their campus locations. Provides event information related to events held on GGC campus. Event list changes depending on the building being accessed. Provides events up to 2 weeks ahead of current date.
  • Safety mode: All building maps were updated to show an toggling overlay that showed locations of safety equipment such as AEDs, Fire Extinguishers, Fire Alarms, Trauma Kits, and Safety Shelters.
  • Functional Service Worker: Checks all cache versions in the users browser and deletes any old versions. Additional files for cache.
  • Updated Building Legend: Add locations and building labels. Turns off if parking legend is on, vice versa.
  • Predictive search: Auto-complete functionality to help type names of rooms without having to guess exact spelling (e.g. Chick-Fil-A).

The second team, NavBenders, (link to final demo) was composed of Maryam Najiarani, Richard A Williams Jr, and Joseph Pelletier. Some of the significant achievement of this team was:

  • Making the rooms of the 3000 dormitory buildings searchable by drawing their maps from school plans.
  • An updated look to all parking lots with accurate labels such as handicap and staff/faculty parking.
  • New updated legend for all parking lots.

Effort from project maintainers Mike Deiters and David Rivera Rocha must be mentioned because they worked with the two teams throughout the semester and helped them merge their additions together into the final single repository.

Spring-Fall 2018 (partial building W)

The Spring 2018 team, JPAN, (link to final demo) was composed of Nabilah Lasker, Codjoe Jean-Paul Gamadeku, and Andres Blandon. This team worked on adding a GGC logo, nearby building cues, new UI controls, and clickable parking lots. Unfortunately, because of technical reasons their contributions were either unusable or did not meet the coding standards and quality expected by the project maintainers and were mostly rejected.

The Fall 2018 team, GGC Maps 3, (link to final demo) was recruited from the SD2 course section of GGC faculty Dr Anca Doloc-Mihu, and the team was composed of Travis Simmons, Sean Lomar Hutchinson, David Hagerty, and Alain Hirwa. Their contributions were mapping building W (only the C3 portion and not the newly constructed wing). Fixing the safety toggle to bring it back to working condition with a new legend display.

The Fall 2019 team, PlugIt, (link to final demo) Accomplishments: • Updated bugs – campus events page displays message, legend does not glitch turning on and off • Updated icon symbols • Updated safety legend • New toggle for safety, parking, and vending • Updated W building scheme • Second legend intended for vending machines, water fountains, and outlets. Remaining features: • Pop-up room feature (click room to see what outlets are listed) • Vending legend that displays icons • Mapping vending icons to all buildings and floors Known issues: • Campus events does not function properly, it does not connect to the calendar it is synced to. • Vending legend does not function