Pono Points

About

Pono Points is a web application that’s designed for Hawaii’s Department of Land and Natural Resources (DLNR) to inspire residents to take care of Hawaii’s special environment and show them how their actions impact the land. The application features submissions where users can submit posts, similar to social media posts, of their community service and the DLNR can give them points accordingly. Users can also accept challenges released by the DLNR to earn points. These points can be redeemed at local companies to help promote local businesses and boost Hawaii’s economy. Through the companies’ perspectives, they are able to release prizes for the resident users. The DLNR is able to approve of submissions for points and release challenges for points. My teammate and I created Pono Points using Meteor, GitHub, React Semantic UI, javascript, and MongoDB.

The Home Page

My Contributions

For this project, I worked on the challenges collection, challenges page, default challenges, and the Devpost page. When I worked on the challenges collection, I first started it as the tasks collection, but after discussion with my teammate, we decided that “challenges” sounded more exciting and game-like. I had to link it to the MongoDB which manages the databases and make the default challenges to add to the collection. I also had to link it in a way where only the DLNR could see certain challenge pages and the users could only see the curated pages. I created the initial add tasks page which allowed the DLNR to create tasks for users to accept, but we improved this by adding more parameters like adding a picture to create the current add challenge page. I also wrote our devpost page and recorded the explanation video explaining and showing how the application works and its features.

The Challenges Page

The Add Challenge Pages

My Takeaways

This project was a more interesting one because unlike most of my projects, this one I only had one other teammates, so we had a total of 2 people in our group. We worked well together and I was surprised at what we were able to accomplish between just the 2 of us, but working in this group made me realize how important it is to be in a team. In a team we are able to distribute the work among all of the team members and have each one focus on a specific aspect of the application. This way we know that each part of the application is working efficiently and none of the team members are burned out because of an overwhelming amount of work. I learned the importance of teamwork from building this application.

I also learned that having multiple roles can be difficult to manage. We have 3 roles: one for businesses, one for regular resident users, and one for the DLNR. Making sure that each role has the correct capabilities and is viewing the correct pages can get confusing, so I started writing and planning more. I found that writing down my ideas and plans for the application help me keep my thoughts more organized and improve my end result.

Learn More

Here is the link to our Devpost that explains the project in more detail and with more visuals: Pono Points Devpost.

Our source code is located here: Pono Points Source Code.

The deployed application can be viewed here: Deployed Pono Points.