Sample View of our Map with the Recycle Bin Markers for Users to be able to see so they could go to their nearest one to recycle.
An unfinished User Sign in, when the User clicks on the Accounts Icon. We plan to use Firebase Auth/Cloud Firestore here for User Sign in.
This is a sample of the Stats History page showing they recycled perhaps 90 pieces of Garbage or items. (Unit of Measure TBD)
This is a sample of the Stats History page showing they recycled perhaps 90 pieces of Glass or items. (Unit of Measure TBD)
This is a sample of the Stats History page showing they recycled perhaps 90 pieces of paper or items. (Unit of Measure TBD)
_(Please watch video in 720p)_
Our inspiration came from our team member Nishanth Prajith as well as the drive for wanting to help our Earth. I also love to contribute to environmental efforts, and so did our group. We believe that with this app, we can help motivate people to clean up whatever they want to throw out. However, a person might not know where the nearest garbage bin location is, and using this app could help motivate being environmentally friendly~. So that is why we decided we wanted to make this Recycle App.
We wanted to have our project follow down the Environmental Theme. :)
What it does
- Once opened, the user will be able to click on the Map and there will be markers on the google maps to show where the garbage bins are. We aim for them to be able to filter between "plastic", "garbage", "glass", "food", and "paper" bins.
- If they want to see how much they have recycled of each type, we added a "History" tab where users can see how much they submitted, only if they sign up with their email in the app, (which we have not yet finished).
How we built it
- We built this app using Flutter technology and coded in Dart, Cmake, C++, C, Swift, HTML and a bit of other (according to Github).
- We used VS code editor to code the project and an Android emulator to test our code.
Which Members Did What
- Nishanth Prajith contributed to 80-90% of the project. He helped to start the Flutter app, he created the navbars, and imported the icons. He helped to create the Loading page, and the statistics history page. He also coded and connected the Firebase Cloud Firestore for our project so that we can, in the long run, collect user data of how much they recycled through our end in the backend. He also helped to add custom markers onto the Google Maps, and these custom markers are the "pretend" garbage locations. He also added the cool buttons feature of the filtering of different types of recycling filters. (Nishanth is in India right now, so if he isn't in our members list, please note that he hasn't accepted the invite link yet to showcase his contribution, so, I, Farhene as captain, decided to write his contributions for him, his amazing efforts, for our project).
- Farhene Sultana contributed to connecting the accounts page and attempted to help connect the firebase authentication system through email sign in.
Justin Siu contributed to attempting in adding the Firebase storage items. However, he used images to appear in statistics to appear as cute friendly icons. He also ran the Android emulator for us to be able to see altogether how the project looks because not all the team members have an Android device to run the app.
Farhene and Justin both live coded to have the Google Maps appear which Nishanth later used to add the markers and the List filter features.
Please note, we are all beginners with Flutter. We looked up videos and Stack Overflow to overcome issues.
Challenges we ran into
- We ran into list item errors and dart plugin errors. We are all dealing with Flutter for the first time, for Nishanth it is probably the second, though we are all beginners with the Dart language.
- We had issues to have the Google Maps to show which we fixed later. Next we wanted to use Firebase Storage to have the images be generated and used from there.
- We also struggled with syntax errors dealing with List objects.
- We struggled with Firebase authentication and core dependency compatibilities as well.
- In addition, we had struggle with using custom markers idea, because we tried addressing latitude and longitude points, however, we later see it's better to use Geopoint.
Accomplishments that we're proud of
- We are proud of how far we've gone. It took us so much time to do this and we were motivated altogether. We were able to showcase the minimum goal we wanted to show in the app which was to have the custom garbage bin markers to the Flutter app~
- This is Farhene's and Justin's and Maisa's first time handling Flutter and it was so confusing, yet with Nishanth's guide in his limited familiarity, we were able to actually learn the language and flutter and be happy of our results.
What we learned
This was a learning experience for all of us. We all got exposed to Dart and a bit of Swift code. It definitely encourages us to want to learn more about Flutter and more of how we could use Firebase or other back ended technologies for it.
What's next for RecycleApp
- Next, we want to actually have a database to fill in every garbage and recycling bin markers on the map, so that users could use the app to easily find the nearest one near them.
- For the stats location under "History", we want to figure out a way to have Users be able to upload proof of their recycling so that on our backend, we could increase their recycle count, so this could help them feel good about their recycling efforts. (Still need to figure out how to do this feature, though we did connect the stats feature to the Cloud Firestore.)
- We also want to finish implementing a user sign in portion, which is a work in progress.
These images we used are not of our own, the images are borrowed from VectorStock.com.