Curent Location - Mission Finder with Radius
Mission Add Form Screen
My Missions Swiping Screen
Form Failure - Create Account
Register Account Screen - with Failure
Mission Status Screen with Mission Feeds
Congratulations - Mission Success Screen
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 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, MVVM 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!