ChaseHawaii is an implementation of a crowd sourced web application which allows UH community members to post profiles of various adventures spanning restaurants, hikes, and beaches found around the island. This application was developed using the Meteor Framework, which encompasses both front and back end development with JavaSript and using Semantic UI and HTML for the user interface. This application served as the final project for ICS314 Software Engineering taught by Professor Philip Johnson and developed over the course of a month in a team of three members: Chaselyn Pugh, Isaac Demello, and myself.
Users of this application explore the compendium of adventures that have been posted by fellow UH community members. They can create their own, as well as add adventures to their own bucketlist of them that they are interested in completing. Users create their own profile on the application and can post comments on any adventure to share their thoughts and insights.
In ICS314, we were exposed to a project management strategy called Issue Driven Project Management. What this entails is a division of tasks pertaining to the development of the project that we call issues. Issues can range from the development of a certain feature of the project to a pool of very small fixes to bugs or inconsistencies. Over the course of the development period for this application, we had three milestones planned. These milestones were the underlying framework that we worked around, in that at the end of each milestone we would have a presentable project that has been built upon the basis of the previous milestone. For our project, the first milestone was the development fo the mock HTML pages, the second milestone was the development of the data model and implementation of the fundamental features of the project, and the last milestone encopassed the implementation of administration and the validation of data.
For this project, we as a team divided up the project in vertical slices of the development stack; instead of people being assigned to one facet of the project such as UI or databasing, we each take a slice of the entire pie so that we are able to experience all aspects of the development process.
I took on the development of the profiles in the project. Profiles were an important part of this application, as we needed them to allow users to have a personalized experience where they can create their own small persona on our application and interact with others. I worked on both the back end and the front end in implementing the profiles, creating pages where users can create their profile, edit it, and view their own profile which includes all of their inputted information. Chaselyn Pugh also added in this effort as she developed the adventure items aspect of the application, which was the implementation of the abilities to create and edit adventure items. She was able to add to the profile page the user’s bucket list of adventure items as well as the items that they liked. Isaac Demello was also able to create a public version of profile pages that can be viewed by other users as well as making the overall project more visually appealing along with being in charge of the comments implementation.
Implementing the profiles also required the use of the UH CAS (Central Authentication Service) to provide the authentication of UH users.
Near the end of the project, after the profiles were implemented, I also developed an administration page to allow for the moderation of the adventure items created by the UH community. Admins in a nutshell, approve the displaying of adventure items and can delete them when a user requests it.
From participating in this project, I was able to expose myself to a team based development experience. We as a group decided that we should not have a central leader of the team, but each of us have our own input into the decisions that we make. Through this, we were able to work with our strengths, weaknesses, and time schedules to create a smooth development process that was not only efficient, but enjoyable and stress free as well. I find it very important that at the end of this development process that I was able to connect on a professional and personal level with my team members.
On the technical level, through the use of various technologies, I was able to experience the division of work through the means of Issue Driven Development. Working in vertical slices of the development stack has allowed me to gain valuable experience in UI design in HTML and the Semantic UI framwork as well as the use of JavaScript in the back end. I had previous experience in using SQL databases, so the transition from SQL to MongoDB, which is Meteor’s system, was fairly smooth and added upon my own repertoire of databasing knowledge.
Take a look at my team member’s portfolio sites:
Learn more about the project here:ChaseHawaii