Skip to content

ergegananputra/bin_go_android_apps_gdsc

Repository files navigation

BIN-GO!

bin-go_logo

BIN-GO! is a mobile application developed to address the waste crisis in Yogyakarta. The app integrates the location of waste recycling centers through Google Maps, so users can easily access the nearest recycling facilities. In addition, the app is also equipped with a forum where people can discuss and share insights on waste management topics, thus fostering a sense of shared responsibility.

The latest addition to BIN-GO! is the report feature, which allows users to report various waste-related issues, such as littering in the neighborhood. This empowers users to take an active role in identifying and addressing environmental challenges within their communities.

In addition, BIN-GO! incorporates gamification elements to encourage user participation in sustainable behavior. Through challenges and rewards, users are motivated to adopt green practices and contribute to a cleaner environment.

By empowering users with information, facilitating community interaction, and gamifying sustainable behaviors, BIN-GO! strives to promote responsible waste management, disposal, and waste management practices and contribute to a cleaner and greener Yogyakarta.

Note

For now, the application can only be used in Indonesia, especially in the Special Region of Yogyakarta.

About This Repository

This repository is the primary one used to develop the Bin-Go Android mobile application.

Main Features

  • Bin-Community
  • Bin-Locator
  • Bin-Report
  • Bin-Point

Tech Stack

Android Firebase Kotlin Google Cloud Google Maps

Bin-Go utilizes various Google technologies, including Android, Firebase (Firebase Authentication, Firebase Firestore, Firebase Storage), Google Maps, and Google Cloud Platform.

Download

The BinGo Stable Version APK can be found in the APK folder directory here

BinGo Version

How to Use This Repo

It’s recommended to have Android Studio installed and to install any SDK packages that it recommends. This project is built based on Android API version 34.

In Android Studio:

  1. Click "Main Menu" (alt + \) to open Main Menu
  2. Click on "File" menu, which will show a sub-menu
  3. Click on the "New" option in the sub-menu, which will show another sub-menu
  4. Click "Project from Version Control.."
  5. Click the Version Control input fields and choose "Git"
  6. in the URL input field, paste the following code:
    https://github.com/ergegananputra/bin_go_android_apps_gdsc
  7. Choose the Directory where you want to save the copy of the repository on your local machine.
  8. Click "Clone"

Alternatively, you can clone this repo using the CLI:

git clone https://github.com/ergegananputra/bin_go_android_apps_gdsc.git

Then, open Android Studio and click “Open an existing Android Studio Project”. Locate the cloned folder and wait for the Gradle to build.

Preparation

Make sure you add in your local.properties file the location of your SDK sdk.dir=C\:\\, MAPS_API_KEY, and MAPS_PLACE_API_KEY in it. You may also add keystorePath, keystorePassword, keyAliasProperties, and keyPassword for build and release configuration and setting up SHA for Firebase Authentication.

image

Note

Don't forget to change path_to_your_sdk, your_place_api_key, ..., and your_key_password.

Environment Variables

Make sure before you run this project, you will need to add the following environment variables to your google.services.json file:

  • YOUR_API_KEY: You can generate this API key in your Google Cloud Console, and then copy your API key to this file.
Screenshot 2024-02-21 224231 Screenshot 2024-02-21 224011

Note

Don't forget to connect console.firebase.google.com in your project to connect to your project's storage database and sync the Gradle.

Additional Requirement: Remote Settings

In addition to the environmental variables mentioned above, if you don't have a balance in your Google Cloud, you will need to set up a remote setup for your project like this:

  1. Create a collection named remote_settings in your Firestore database

    remote_settings

  2. Create a document with the ID WumOchoPZ3LNf7XE8qMk

    document_id_remote_settings

  3. Set the following fields in the document:

    field_table_remote_settings

Note

isMapsEnabled: Set to true if you have a balance in your Google Cloud.

Example:

{
  "isMapsEnabled": true
}

Note

If you don't have a balance in google cloud, you can also add a custom location for the bin-locator feature based on your nearest location by setting the fields and database contents in firestore like this:


Set the geohash initial value to null. Then set the set the isDeveloperMode field in remote_settings collection to true. Run the application and open Bin-Locator. After the geohash filled up automatically, set the isDeveloperMode back to false.


field_table_remote_settings

Preview

Preview.App.v.2.mp4

Demo Application

[Version 1]
Youtube
[Version 2]
Youtube

Authors

Github Erge LinkedIn Erge
Github Aldy LinkedIn Aldy
Github Naya LinkedIn Naya
Github Daniel LinkedIn Daniel

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages