Carpool and Go was a final ICS 314 project that encapsulated many of the skills and concepts that we have learned about throughout the semester. It was largely based on a final project idea that I pitched to the class with some minor adjustments. The application was developed by myself, Cory Parker, Michael Ito, Robin Dumalo, Kai Sequeira, and Johanan Leoncio, and used Bowfolios as a template.
The goal of the project was to create a web application that allowed University of Hawaii students to connect with fellow students who commuted to the University. Instead of every student having to drive themselves to school, students would be able to use our application to find fellow classmates who are leaving or arriving in their current location to allow them to carpool with each other. To do this, the site contains a collection of users that is divided into drivers and riders. These collections are then further divided into their locations allowing the user to filter by role and location.
Another small feature that was implemented was the fast ride form and feed, which is a system that allows riders to request an emergency ride if they need to go somewhere quickly. If a driver sees that a rider is going to the same location that they are at the same time, they are able to see how to contact the user.
When it comes to the “group” part of the group project, I found myself taking charge of the group and the project most of the time; discussing meeting times and setting up the weekly meetings and minutes. I also was the one making the automated kanban boards and regulating the issues on Github. Project-wise, I created all of the MongoDB collections that were used in the project, including Users, Locations, UserLocations, and Requests. I also was responsible for creating/taking over the edit/add account page, the drivers page, the riders page, the fast ride request and feed, as well as the website’s rating feature. Due to some complications and time constraints, I took over and completed the edit page, fast ride pages, and the website’s rating system from other group members.
All in all, I enjoyed this final project and learning new aspects of software engineering through it. Though the website was templated off of Bowfolios, recreating different collections and pages from the ground up really allowed me and my group members to comprehend the different aspects of the template itself better than we could in the experiences or practice WODS. One of the most important software engineering concepts that I ended up learning well through this final project was the idea of publication-subscription design patterns, which will be very important if I plan on furthering my software engineering career. I was also able to learn a lot of different skills through working on code as a group and trusting different group members with different tasks. I believe that for the most part, software engineering is a team-based career path, and so these group skills will also be important to know for the future.
Source: Click here to view the Github Repository for Carpool and Go