Inspiration behind Trash to Treasure
Have you ever thought to earn money through waste?
Yes, you read it right. You can earn money through waste. But before that read our story!
Daily, an enormous amount of waste is generated from a household and into a region!! Yet, there are very few solutions to such problems. Many solutions include just recycling the good from the waste and burning the rest. Many people don't even choose to recycle and thus these products end up in landfills. Thus, all this leads to pollution of different kinds like air, water, etc. Many people are affected due to heavy amounts of waste generated every day. Therefore, our solution tries to solve these problems through digital means and hence the name TRASH TO TREASURE. REFERENCE
Trash to Treasure uses geocaching to help users in recycling waste! Using Google Maps on the user's device, they can find recycling spots and recycle their products/waste. By going to the specified spots and recycling, users can earn points. Once enough points have been earned they can then redeem their points into something useful!
- Quasar, a Vue framework + Vuex for the frontend
- Express, Passport for node backend
- MongoDB Atlas
Challenges | Accomplishments
All of us were new to Google Maps (particularly with a Vue App) and the documentation was not straightforward at all. It took a significant time to get the map to work and the distance calculation to show up properly (the spherical library was a whole different story to include in the app).
Once it seemed like things were on track, Vuex decided to randomly give up on us. It took 4 hours to try and find a reason behind the 1768 errors that started showing up out of the blue after hours of everything working smoothly. That was 4 hours spent on nothing because the entire thing started working magically when we switched browsers. :3
As time went on and we continued trodding with the UI, yet another issue came up. We had set up Atlas with MongoClient because it seemed straightforward on node. Turns out, it's next to impossible to get that interface to work with passport for a custom strategy. 5 hours before the deadline, we started changing the whole backend + DB interface to Mongoose. And none of these are things we had ever worked on. This was my first time with Mongo.
60 tabs and 3 hours later, mongoose seemed to work - but only on Postman. Some endpoints kept failing at random instances. An hour before the deadline, we decided to chuck the mongoose way and revert to MongoClient (thank the universe for stuff like git). We finally made the decision to not pursue authentication and finished the last bit of hooking the frontend to the backend api for talking to the DB and made the video.
This was by far the most hectic project I have taken up on but looking back, I realise the amount of stuff I have learned kind of makes up for the sleep deprivation and the rush. xD
NodeJS, ExpressJS, and MongoDB
- Looking into sponsors/organizations which in turn will have more users recycling.
- Expanding the current features i.e. allowing users to request a recycling location near them.