We wanted to create something that could positively impact the society in a significant way and challenged our current programming abilities. Making a website (and potential future mobile application) that attempts to implement a solution for reducing waste by promoting recycling seemed to meet all of our team's criteria.
What it does
Our website, GetGreen, attempts to solve the issue of excessive and negligent waste by giving people an easily completed task, which is incentivized by the prospect of monetary compensation. In essence, GetGreen rewards those who provide verifiable evidence of their recycling. One of the primary ways in which our website accomplishes this task is by providing a forum that provides users with the opportunity to interact with each other. Hopefully, this interaction causes the community to grow in size and dedication.
How it works
The website is partitioned into two main sections. The first section is where the users can upload proof of recycling. Posts can either be approved by the moderators, or be approved through peer-moderation amongst the users. Essentially, the more a person recycles, the more money they will receive!
The second channel is more like a forum. A user can not only ask and answer questions, but for example, if the user has a local project they want to start, they can post it on GetGreen. Other users can fund their idea by making donations with our on-site currency. Other users can also upvote the post; the more upvotes a post has, the more likely a post will be seen and the project funded.
How we built it
The website is primarily built on bootstrap. Python takes care of the back-end data processing, as well as wrapping the front-end website using the Flask framework. However, a vast majority (all) of the python-based back-end was not implemented on the final prototype.
Challenges we ran into
Half of the members of this team had little experience with web development, so this was a very new experience. In addition, this was our first time using the Flask framework, which caused excessive time consumption. We had also planned for a real-time statistical analysis of the participation rate of similar web services, but it was not implemented in the final prototype due to lack of an adequate database.
Accomplishments that we're proud of
Although web development was a field that some of us weren't very familiar with, we have managed to come up with a prototype that can demonstrate the idea of this project. Also, the members who were working on the non-web back-end code managed to work out a couple of frameworks that they had never used before.
What we learned
We realized that plans may be more complex than they seemed from an initial perspective. However, we did gain experience on how to present our ideas through code.
What's next for GetGreen
A more secure management of the users and the system would be the priority. Once that is settled, we will need to seek for more effective methods to motivate participation. We need to learn how to connect an MVC, such that the front and back ends of our project can coexist to create a better, functioning site.