The TrashPick mobile app is designed to guide people on how to properly dispose of waste. Users can register as a Trash Picker or Trash Collector. Trash Pickers can post details about trash disposal and they can sell their trash to Trash Pickers. Trash Collectors can buy it from Trash Pickers and sell it to recycling centers. Both users have a chance to earn points and win rewards by using this app. This alpha release does not include the complete requirements and interface. This project has been developed as an open source for educational purposes.
Click the link or image below to view the demo video on YouTube.
π https://youtu.be/lwqs8Z3Aw50
Release Version - 1.0.0
Initial release date - July 30, 2021
Note
This repository is a clean re-upload to my new GitHub account. No new features or functionality have been added. Minor compatibility fixes may have been applied to ensure the project runs correctly in the current environment. Please note that the original commit history from the previous account is not preserved. This update is primarily for migration purposes.
Initial release date: July 30, 2021
Migration date: December 30, 2025
Last review date: December 31, 2025
Deployment is not currently in use
- Flutter
- Dart
- Android Studio
Before you get started, follow these requirements
- Firebase project
- Google maps API
- Dart SDK >=2.14.0 <3.0.0
- Flutter SDK >=2.0.0
| Component | Version Used |
|---|---|
| Flutter SDK | 2.10.0 |
| Dart SDK | 2.16.0 |
| Java (JDK) | 11.0.x |
| Gradle Wrapper | 7.6.1 |
| Android Gradle Plugin (AGP) | 7.1.3 |
- Download or clone the repository
- Move the project to the selected directory
- Open it with a code editor (Android Studio, Visual Studio Code)
- Add firebase config file
- iOS - GoogleService-Info.plist
- Android - google-services.json
- Web - Follow the instructions
- Run flutter clean and pub get commands
- Do not update / upgrade gradle and other versions until the app is up and running with built versions
Download and extract the Flutter SDK for Windows to a location like C:\flutter\flutter_windows_2.10.0-stable, then add it to your PATH:
$env:PATH = "C:\flutter\flutter_windows_2.10.0-stable\flutter\bin;" + $env:PATH
flutter --versionInstall Java JDK 11 (not just JRE) and set the environment variables:
$env:JAVA_HOME = "C:\Program Files\Java\jdk-11.0.x"
$env:PATH = "$env:JAVA_HOME\bin;" + $env:PATH
java --versionRun this to check that everything is set up correctly:
flutter doctor -v
flutter devicesAccept any Android licenses if prompted.
Edit android/gradle/wrapper/gradle-wrapper.properties and update:
distributionUrl=https\://services.gradle.org/distributions/gradle-7.6.1-all.zipUpdate the Gradle wrapper by running:
cd android
./gradlew wrapper --gradle-version 7.6.1
cd ..If you encounter Kotlin errors, ensure android/build.gradle has:
ext.kotlin_version = '1.6.10'flutter clean
flutter pub get
flutter runTo target a specific device: flutter run -d <device-id>
**Gradle/Java Incompatibility Issues:
If you see errors about GradleβJava incompatibility (like βUnsupported class file major versionβ¦β), then:
- Ensure Gradle wrapper is updated to 7.6.1
- Ensure
JAVA_HOMEpoints to Java 11 - If needed, add this to
android/gradle.properties:
org.gradle.java.home=C:\\Program Files\\Java\\jdk-11.0.xThis forces Gradle to use the correct JDK.
List devices:
flutter devicesRun on a chosen device:
flutter run -d emulator-5554Replace emulator-5554 with your device ID.
For detailed instructions on how to use the TrashPick app, please refer to the TrashPick User Guide.
- Icons8 - https://icons8.com
- Freepik - https://www.freepik.com
- Flutter - https://flutter.dev
- Provider - https://pub.dev/packages/provider
- Fluttertoast - https://pub.dev/packages/fluttertoast
- Image Picker - https://pub.dev/packages/image_picker
- Transparent Image - https://pub.dev/packages/transparent_image
- Flutter Absolute Path - https://pub.dev/packages/flutter_absolute_path
- Carousel Slider - https://pub.dev/packages/carousel_slider
- Permission Handler - https://pub.dev/packages/permission_handler
- UUID - https://pub.dev/packages/uuid
- Intl - https://pub.dev/packages/intl
- Shimmer - https://pub.dev/packages/shimmer
- Google Maps - https://pub.dev/packages/google_maps_flutter
- Geolocator - https://pub.dev/packages/geolocator
- Geocoding - https://pub.dev/packages/geocoding
- WebView - https://pub.dev/packages/webview_flutter
- Firebase Core - https://pub.dev/packages/firebase_core
- Firebase Auth - https://pub.dev/packages/firebase_auth
- Firebase Database - https://pub.dev/packages/firebase_database
- Cloud Firestore - https://pub.dev/packages/cloud_firestore
- Cloud Storage - https://pub.dev/packages/firebase_storage
Thanks to everyone who supported
Dileepa Bandara
@dileepadev
https://dileepa.dev
Note
This repository may contain references to my former GitHub username (dileepabandara) and domain (dileepabandara.dev), which I no longer use. These identifiers may now belong to other parties. All current development and maintenance are conducted under my new GitHub account dileepadev and domain dileepa.dev.
If you want to contact me, leave a message via email.
- Email - contact@dileepa.dev
This project is licensed under the MIT License.
See the license file for more details LICENSE

