Skip to content

fcsiba/TrashTroopers

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Trash Troopers

Not your waste. But your planet.

Tackling the pollution problem by incentivizing trash collection through gamification and building a social network that is actively engaging the problem in a creative and responsible manner.

Trash Troopers

Getting Started

Prerequisites

Following are the prerequisites of the application:

  • Android SDK
  • Java JDK 8.0 or above installed
  • Flutter and Firebase with love 💓

Installing

Run the following command:

flutter build apk --debug

Required IDE(s)

This application was developed with the following IDEs:

  • VS Code

Versioning

Currently at Version 1.0.0 (Beta Release)

License

This Application has been licensed under

MIT License

Acknowledgements

  • A lot of libraries hosted on Pub and the wonderful Flutter community!

Our Story

Inspiration

By seeing a lack of proper waste management facilities we realized that clearly something needed to be done. Clean-up drives prove that people are willing to participate, all they require is a little stimulus and a community to push then to action. Therefore to bridge the gap and provide a platform to users who are willing to do good we created a force of of our very own TrashTroopers.

We plan to take this to newer heights, in the coming years of ‘Naya Pakistan’ when digitalization is here, troopers can ‘earn citizen points’ by cleaning their country. Imagine a world where all the kachra kundis have been cleaned up. We plan to make this entire process self-sustaining by giving out rewards and coupons to our troopers funded through NGO’s or Money we make from recycling.

What it does

Users can create or join in a clean-up mission. Ideally they'll pin point areas of potential cleaning like trash dumps and upload those on our Mission Map as candidate mission sites. These will be shown to other uses who can join them and follow the mission status. Once the mission progress starts we will keep an interactive feed to make people know whats happening. And after all done they'll be asked to rate their fellow comrades (and based on that and the difficulty of the task and other factors) we will then award them points which can be redeemed at our center.

How we built it

Tons of StackOverflow, obviously. Consecutive dev nights and pulling all night coding to get each pixel right, and lots of dedication as motivation brought this idea to life. We planned out the entire idea in user journeys, made initial Models and set up foundation, Added the Auth, Profile, and basic CRUD models and API Classes and slowly everything came together.

Challenges we ran into

Layouts became very painful to deal because we were very meticulous about every minute detail. And each renderflex error eventually was overcome and we, finally got good at making better layouts. The second difficulty we encountered was using nested json and handling complex data models. Understanding builders and states/stateless widget also required a learning curve - but we eventually got a hang of it.

Accomplishments that we're proud of

Completed a minimum viable product in a month! Learnt flutter from scratch! Used Git like never before and resolving those tedious merge conflicts. Working in a team made us highlight what our strengths and weaknesses. Emphasis on writing clean code as making it readable for the other person and using recommended code guidelines and formats. We Also, thanks to Flutter we could design the UI exactly how we envisioned it.

What we learned

Flutter, Firebase, Working in a team, version control, Async calls, MVVP architecture, and most importantly timely project delivery!

What's next for TrashTroopers

  • Radius based filtering to allow users to find mission near-by.
  • Reward system and Reward store.
  • Use CV models to estimate troops and time required for a mission.
  • Integrate with a ride-hailing/delivery service to deliver (masks, collection bag) and to pick up the collected trash and drop off to a recycling facility.
  • And most importantly take this project out of the MVP phase and deploy it to production! A collaboration with an NGO would be nice!

See Also