Skip to content

dileepadev/trashpick

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

2 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

TrashPick Mobile App

GitHub repo size GitHub code size in bytes GitHub language count GitHub top language GitHub GitHub commit activity

✨ About

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.

Preview Image

🎞️ Demo Videos

Click the link or image below to view the demo video on YouTube.

πŸ”— https://youtu.be/lwqs8Z3Aw50

Watch the demo video

πŸ“¦ Release Details

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

Deployment is not currently in use

πŸ’» Built with

  • Flutter
  • Dart
  • Android Studio

πŸ“Œ Prerequisites

Before you get started, follow these requirements

Original (Legacy) Version

  • Firebase project
  • Google maps API
  • Dart SDK >=2.14.0 <3.0.0
  • Flutter SDK >=2.0.0

Upgraded Versions

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

πŸƒ How to Setup

  • 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

πŸš€ Flutter Android Setup

Prerequisites Installation

1. Flutter SDK

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 --version

2. Java JDK 11

Install 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 --version

3. Verify Your Environment

Run this to check that everything is set up correctly:

flutter doctor -v
flutter devices

Accept any Android licenses if prompted.

Project Configuration

Update Gradle

Edit android/gradle/wrapper/gradle-wrapper.properties and update:

distributionUrl=https\://services.gradle.org/distributions/gradle-7.6.1-all.zip

Update the Gradle wrapper by running:

cd android
./gradlew wrapper --gradle-version 7.6.1
cd ..

Update Kotlin (if needed)

If you encounter Kotlin errors, ensure android/build.gradle has:

ext.kotlin_version = '1.6.10'

Run Your App

flutter clean
flutter pub get
flutter run

To target a specific device: flutter run -d <device-id>

Troubleshooting

**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_HOME points to Java 11
  • If needed, add this to android/gradle.properties:
org.gradle.java.home=C:\\Program Files\\Java\\jdk-11.0.x

This forces Gradle to use the correct JDK.

8) Run on a Specific Device

List devices:

flutter devices

Run on a chosen device:

flutter run -d emulator-5554

Replace emulator-5554 with your device ID.

πŸ“– User Guide

For detailed instructions on how to use the TrashPick app, please refer to the TrashPick User Guide.

πŸ“Έ Icons and Images

πŸ’Ž Dependencies

❀️ Thanks

Thanks to everyone who supported

πŸ‘¨β€πŸ’» Developed By

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.

πŸ’¬ Contact

If you want to contact me, leave a message via email.

πŸ“œ License

This project is licensed under the MIT License.
See the license file for more details LICENSE