Skip to the content.

Welcome to Carpool and Go!

Table of contents

Group Member Agreement

This web application is made in cooperation with Kenji Sanehira, Cory Parker, Robin Dumlao, Michael Ito, Johanan Leoncio, and Kai Sequeira.

For more information on the creation and the distribution of work, to contribute as a team, you can check here.

Overview

Carpool and Go! is a web application project mockup that aims to provide a communal network for University of Hawaii at Manoa, allowing for drivers to offer rides and for riders to be able to search for rides in their area. Click here to see the github organization for this project.

Project Goals

Our goal with this project is to take in what we have learned over the course of the semester to create a functioning meteor application that reflects the teachings as well as the creative freedoms we get to choose while creating this project. By working together in a team environment, we aim to gain experience as well as further our practice in web design. Also, by creating a mockup for a service in an attempt to combat a real world problem, we hope to be able to translate this problem solving into other scenarios in real world applications.

What the System Should Eventually Provide

What this system should eventually provide is a website service that allows University of Hawaii at Manoa students and staff the ability to have access to get to school with having less cars needed to traverse the roads. Users who log in can either look to offer rides, or search for possible drivers that they can catch a ride with to campus. By offering this service, we hope to do our part to help against the rising gas prices and heavy traffic near the University.

User Guide

This section serves to guide the user through the currently implemented features of Carpool and Go. After reading through it, the user should have a general idea of how the site works and how to use it to the best of their ability.

Landing Page

The landing page will contain a general description of what Carpool and Go aims to accomplish:

General Home Page

The general home page after logging in will present the user with a number of options including viewing drivers/riders, editing their profile, and accessing the fast ride feed.

User Profile Page

The user profile page displays the User in question’s profile as well as their role, location, profile picture, arrive and leave time, contact information, and their rating. The user profile page will also show the user’s current rating and how many people rated them. There is also a section where other users can submit ratings for the current user (if the user is not the one logged in). If the profile is the current logged in user’s profile, there will instead be an “edit my profile” link that takes them to their respective edit my profile. Users can also delete their own profile if they would like to.

If the user does not have a profile, they will be prompted to make one using the add profile page (See below).

Add/Edit profile page

The Add/Edit profile page will be a form that contains all of the fields required of the user when they log in. It will change only the data of the current user logged in, and upon submitting, will change the users data in the user collection and the users data in the User Profile Page.

If the user does not have a profile, they will have to create their profile.

If the user is not an admin or not a user in question, they will get a message saying “you do not have access to this profile”.

Drivers/Riders Page

The Drivers page will show exclusively drivers whereas the riders will only show riders. The top of the page will contain a filter container that allows the user to sort by location. These collections of drivers and riders will also display if the rider or driver is a highly rated profile or a lower rated profile based on the rating property.

Drivers Page

Riders Page

“Fast Ride” Feed

The “Fast Ride” feed page will be a feed that consists of all of the requested Fast rides sent by the Fast Ride Form. The feed will display the user’s Profile Picture, their first and last name, their current and desired locations, the time they need a ride, a brief description of their requested ride, and their contact information. Other users can then contact the user or click on their profile to get more information about that specific user.

“Fast Ride” Request

The “Fast Ride” request page is a form that allows a user to request a ride to a specific location at a particular time of day. It allows the user to input their current and desired locations, their time of ride, and a description of why they need the ride. It will send data to the “Fast Ride” feed.

Rating System

The rating system is an implementation that allows drivers and riders to be able to rate their fellow community members based on experiences. These ratings seek to create a positive incentive to those who ride with Aloha! Users are able to rate drivers and riders out of 5 stars. The rating can be seen on one’s profile, and to rate others would show up on other profiles as shown:

Self Rating:

Rating Others:

Admin Page

The admin page is a page that is similar to the drivers/riders page in that it displays the profiles based on their locations (filtered by a small filter container), however each profile also has an edit profile button that allows an admin to edit their profile. Admins can also delete profiles if they need to with the delete profile button.

Night Light Mode

Carpool and Go has implemented a darker theme colors for those night time browsing! By clicking on the circular button at the bottom right of the screen, the colors invert to make things more pleasing to the eyes:

Developer Guide

This section provides information of interest to Meteor developers wishing to use this code base as a basis for their own development tasks.

Installation

First, install Meteor.

Second, visit the Carpool and Go application github page, and click the “Use this template” button to create your own repository initialized with a copy of this application. Alternatively, you can download the sources as a zip file or make a fork of the repo. However you do it, download a copy of the repo to your local computer.

Third, cd into the bowfolios/app directory and install libraries with:

$ meteor npm install

Fourth, run the system with:

$ meteor npm run start

If all goes well, the application will appear at http://localhost:3000.

Application Design

Carpool and Go is loosely based upon Bowfolios and meteor-example-form-react. Please use the videos and documentation at those sites to better acquaint yourself with the basic application design and form processing in Bowfolios.

Data model

As noted above, the Bowfolios data model consists of three “primary” collections (Projects, Profiles, and Interests), as well as three “join” Collections (ProfilesProjects, ProfilesInterests, and ProjectsInterests). To understand this design choice, consider the situation where you want to specify the projects associated with a Profile.

The Carpool and Go UH collection consists of three primary collections (Users, Locations, and Notes). There is also a “join” collection “UsersLocations” that allows the database to access a User’s role and location both ways. The notes collection is currently a placeholder for the different entries into the FastRideFeed.

Development History

Milestones are important! This project undergoes the developmental process practices in order to create a fully functioning meteor proof-of-concept prototype. This section is dedicated to keeping track of milestone goals and how we managed to achieve them.

M1 Milestone

Our M1 Milestone was essentially developing the basic skeleton of the website, implementing collections we will be using in the project, and correcting the routing of the bowfolios template to match our website. We had a total of 13 issues for this Milestone, and the project board can be found here.

Finished Issues:

M2 Milestone

Now that the mockup of the pages and the skeleton of the website is complete, it is now time to focus on functionality and making things work together. The goal of this milestone is to have a working site with no broken links. Check out our M2 project board.

Finished Project Board:

Finished Issues:

M3 Milestone

After implementing the general features of the website, we finished off the site by fixing minor UI bugs and implementing the sites “secret sauce”. Check out our M3 project board.

Finished Project board:

Finished Issues:

Community Feedback

While testing the website in its final stages, we took the time to get some thoughts and opinions from other UH community members. Since this aims to serve as a service for those who attend UH Manoa, faculty and fellow UH at Manoa students were asked on what they thought.

"I really liked the visuals, and the page is very user friendly. The site seems very modern and not outdated. I would enjoy using an app like this. "

"I actually really like this idea and design; I hate spending a lot of money on gas driving to school. I was pretty surprised at how well the website worked and turned out, I thought it would be something simpler since you said it was just an assignment or something. I could make an account and sign in and everything so that was pretty cool. I could even sort profiles by certain categories. Some of the interfaces were slightly clunky, but nothing that was a big problem for me."

"The site looks great besides the unfinished portions. One comment would be the full implementation of the dark mode of the website and working with different fonts and stuff."

"I find it a bit hard to imagine there will be willing drivers since there is an app like uber which is a similar concept but drivers are incentivized. It's easy to see riders willing to do this, but if people do not know who they are picking up it is difficult to see who would be willing to do this. Maybe add a feature where riders have a rate or small fee of pickup and dropoff. It would be good to add a map on google rather than a dropdown menu for the rider and driver pages. You could add a background check option for drivers and riders for security purposes."

“So there’s this little location tab Arrive time and leave time. I feel like if you could make the tabs more user friendly that would be easy for the users. Also on the arrive time and leave time some websites have it where the user can just click on the time instead of typing it out. So if you can give an option of clicking instead of typing would be more user friendly.

To summarize, these different bits of feedback mainly commented on things that we are able to develop further if we were to revisit this project. These include an incentive system for drivers, varying form fields, user interface changes, and all in all making the website more user friendly.

We have taken this feedback into consideration and appreciate the community for giving us such gracious criticisms and praise. We aim to create a service that benefits all those involved and with more time we can continue to create something that everyone can gain from.

Deployment

ci-badge

The following is a link to our deployed application running on Digital Ocean: Click here.