University of Pennsylvania's Wharton School of Business
NationBuilder is a digital advocacy tool, meant to cultivate an online community around a common purpose. Its NationBuilder Network product allows for alumni associations to organize the flow of information and activities between headquarters and local chapters.
Alumni associations want to be able to create local chapters throughout the world, while also maintaining their independence to allow local teams to organize their members as they see fit. At the same time, it's pertinent that the universities be able to keep tabs on the information the local chapters create. NationBuilder's shared database structure allows for just this.
To further this, it is important to develop a single, university-branded theme that was able to showcase the unique work of local alumni clubs. Through modular design principles, clubs are able to be as active as they wish online, promoting such things as events and fundraising drives, while maintaining their independence from one another.
In addition, the University of Pennsylvania's Wharton of Business Alumni Association also wanted a central calendar to house all their local clubs' events. This would enable alumni, as well as prospective students, to engage with the larger Wharton community all over the world.
With the information housed in nearly 50 club sites, via NationBuilder's API, I created a Rails application to centrally collect the information. I built an Ajax call that requested these events via said Rails app's own API, and showcased them on a front-facing site.
To not overwhelm the user and speed the page up, I delineate the requests month-by-month, along with regional and affinity-based filtering options.
A major part of any alumni association is to encourage networking of its members based on shared career and general interests. For the University of Pennsylvania's Wharton School of Business Alumni Association this meant a searchable directory of local chapter members.
Utilizing a central database and Rails app, I implemented ElasticSearch to be able to cache, organize and query the database in an efficient way. Some chapters had over 10K members, so it was important for it to be fast and scalable.
Utilizing a two-step search + filter mechanism, I constructed a front-facing Angular app. A a first step, much like Google or Flickr, the user can search using a search bar. This search request would get sent to my Rails app's ElasticSearch-enhanced database, and it would retrieve a JSON array of alumni, ordered based on most-to-least relevant. These were returned to the frontend Angular application and were rendered for the user.
The Angular frontend app would dynamically generate filtering capabilities from the results, to allow the user the option to further hone their search.