Inspiration
With this project, we wanted to strengthen the community by increasing public engagement in local volunteering activities. Volunteer work helps everyone in the community: by giving food to the less fortunate, picking up trash in the neighborhood, helping non-profit organizations with their day-to-day activities, etc. We believe that by gamifying volunteer service and giving people incentives in the form of gift cards and discount codes we can convince more members of the community to volunteer.
What it does
Our project aims to connect volunteer organizations with those who want to help their community. Organizations assign a point value to their event, and volunteers, our community members, can sign-up for any listed event. Upon completion of the event, the volunteers earn points. Points can be used to purchase discounts from local businesses who have signed up for our website, to encourage more interpersonal interaction.
How we built it
This project was built using Spring for the backend and Angular for the front end. We began by mapping out the idea: the classes and how they relate to each other. After this, we implemented the storage and rest calls in the backend for the different things we were storing: user information, event data, discount data, etc. Then we implemented the HTML + Angular that utilized the REST calls to the back end to display and allow the user to interact with the data.
Challenges we ran into
We ran into several challenges throughout this 24-hour cycle. To start, since this was half our team's first hackathon, we were slow to plan our project. We were not used to the fast-paced style of planning that the time required, so we spent perhaps too much time planning. This ended up being our downfall, as some of our planned features were not able to be implemented (we did, however, set them up). Such features include using the UI to create new discounts, having multiple logins per organization instead of a single one, and limiting purchasable discounts to a certain amount of people.
Accomplishments that we're proud of
Implementing both front-end and back-end capability in our time frame was a feat in and of itself for our team. We delegated tasks efficiently and this allowed us to tackle the whole stack and get a working prototype for our project. Specifically, the problem of connecting Users to the events they are attending and the events they have completed was time-consuming for us, so completing that aspect was a huge achievement for our team.
What we learned
We learned a lot about the different technologies we used. Although we had all used them before, the hackathon forced us to quickly learn new aspects of each technology. We learned a lot about Spring and Java through several hours of debugging. We also learned to communicate and plan better as we were forced to plan ahead and divide work amongst ourselves while making sure everyone's work functioned in cohesion.
What's next for Community Service Rewards
During the planning and coding stages of our project, our team looked toward the future. We organized our new ideas into different sections, allowing for easier future development.
Firstly, we plan to revamp the login page. We want the login to be more accessible for the user, thus, we need to create a way to make new user logins easily. Following this, we would add a password recovery option. Our final idea for the login page was to add support for multiple logins per organization/company, as opposed to our current implementation only allowing one login.
Next, we wanted to flesh out the details for each offered event. Where we currently have an event simply be worth a number of points, we would instead have different jobs at each event, with a detailed description and separate point worth per job.
Finally, we would improve upon our discount system. Our current project has the functionality for a user to purchase a discount and the ability to display discounts, but the two are not connected. Furthermore, we wanted the discounts to scale in value with the number of volunteer hours that a user has. Our project has the necessary parts for this (levels per user and minimum level for discounts), however, due to time constraints we chose to focus on other, more important, features. Thus, our final focus for finishing the website would be to implement this feature.

Log in or sign up for Devpost to join the conversation.