Group Wrangler
The Problem
Groups are a fundamental concept in any large organization or social circle. Managing groups is a complex challenge that encompasses managing the group/subgroup hierarchy, analyzing group characteristics, and supporting intra-group and inter-group communication. While there are a number of software systems available for group management, many of these systems are designed for workflow management or casual social groups. Existing systems are unable to handle efficient creation, reorganization, and communication within complex, hierarchical group structures. There is a need for a hybrid system that combines social aspects and administrative group management.
The lack of a suitable group management system is the primary motivation for the establishment of Group Wrangler, which was developed to support the Global Science and Engineering Program (GSEP) at Northern Arizona University. As Assistant Director of GSEP, our sponsor, Melissa Armstrong, manages a rapidly growing group of GSEP students that fall into multiple overlapping groups and subgroups, defined by academic status, language, major, and other characteristics. GSEP was looking for one tool that would allow them to manage students in the program and facilitate communication among members.
Our Solution
The solution we developed, Group Wrangler, is a web-based application that supports an intuitive experience for creating and managing groups in a social community. Specifically, the application provides one tool that can be used to:
Group Wrangler combines the functionality of tools that focus on social organizations with the functionality of tools that focus on centrally managed organizations. The application is both free and open-source. It uses a variety of modern web technologies to provide a simple and easy-to-learn interface. The application can easily be modified to meet the needs of any organization.
Walkthrough of Automated Grouping:A demo of Group Wrangler is available here on our website:
(Note: some features not available in demo version)
Download the full group wrangler product here:
Requirements
In the initial requirements acquisition phase, we met with our sponsor, Melissa Armstrong, to establish some of the key features of Group Wrangler. Our mentor then helped us to refine our list of requirements. Our peers and the faculty also provided helpful insight when we presented our work in the form of design reviews. We revised the requirements document over time based on testing and feedback. We broke down the functional requirements based on the types of user roles in the application. Some of the key requirements are listed below.
General users can:Administrators can:
View the full requirements document here:
Design
We chose to develop Group Wrangler using a variety of modern web technologies. We decided to use Ruby on Rails as our web application framework because it provides support for rapid development, easy maintenance, and software engineering principles. We took advantage of the model-view-controller architecture provided by Ruby on Rails in order to help structure our code. This setup allowed us to easily separate the logic for interacting with the database from the logic for displaying page content. A more detailed explanation of the architecture can be found here.
We also incorporated a variety of other technologies that integrate well with Ruby on Rails. Our application supports a number of databases, including PostgreSQL and MySQL. We used jQuery and JavaScript to handle client-side functionality. Our application works with cloud hosting services such as Heroku and Amazon S3. We were able to incorporate these diverse technologies to provide an application that is both powerful and easy-to-use.