Inspiration

Our Earth remains the same size each passing year. Yet, the amount of waste we produce only keeps increasing. We realized that most of this waste can be avoided simply by promoting waste reduction through the reuse of old materials. This idea sprung from one of our teammate’s first-hand experiences. Seeing his mom using social media to buy and sell used materials in an online garage sale, he started thinking, why not implement this on a larger scale and incentivize re-use by eliminating all costs and hassles involved by making system easier to use, more specific to resource-sharing, and to make it easily accessible and available for others? This would also help the preservation of our natural resources by causing a reduction in demand for new industrial products.

What it does

Get to Give is an open-source, federated, and distributed platform website designed to cycle used products through communities and encourage responsible consumption and production, and in turn, form sustainable cities. Users can create an account, and immediately begin giving away and/or requesting items. The idea is that instead of most people outgrowing their items and throwing them into landfills, they could donate them or ‘give them away’ to someone else who is in greater need or who wants this item. This would result in less waste being produced from communities overall as well as less production of new materials.

How we built it

The website is built with Flask. Internally, the database is PostgreSQL, although that doesn't show up in the code at all (database management is via SQLAlchemy). Tentative support for locations via OpenStreetMap is included in the backend, although it's not hooked up to anything.

Challenges we ran into

Dealing with the mess that is web design is not particularly easy. In addition, I don't have a lot of experience with databases and SQL in general, so SQLAlchemy took a long while to get used to.

Accomplishments that we're proud of

We have a working website! It also looks pretty sweet.

What we learned

SQLAlchemy is great, ignoring the learning curve. Websites can be fun to make (once initial styling is done). HTML5 and CSS flexboxes are a lifesaver.

What's next for Get to Give

  • Built-in e-mail server, so that mails can be received and forwarded as needed.
  • Anonymous giveaways / requests, which route communication through the TODO web server.
  • Hookup OpenStreetMap with localities so that new localities can be added.
  • Properly setup distributed server support, by allowing communicating with other servers, and retrieving a default server list from the Git repo.
  • Clean up HTML and CSS, focusing more on nice Jinja features.
  • Full rewrite of backend, spreading out into more files and modules.
  • Document backend properly.
  • Add remaining missing pages.

SDGs

Subtopic Industry

  • Goal 11: Sustainable Cities and Communities
  • Goal 12: Responsible Consumption and Production

Built With

Share this project:

Updates