<aside> <img src="https://prod-files-secure.s3.us-west-2.amazonaws.com/98e1654b-3141-4bb9-993d-36738e397d78/f90cbc47-d902-48e9-94d5-00053727b327/25231.jpg" alt="https://prod-files-secure.s3.us-west-2.amazonaws.com/98e1654b-3141-4bb9-993d-36738e397d78/f90cbc47-d902-48e9-94d5-00053727b327/25231.jpg" width="40px" /> Github Repository →

</aside>

📝Overview

This project is an Android Mobile Application (using Kotlin) as part of the capstone project at Bangkit Academy

The application “SortSavvy” is a mobile application designed to educate Indonesian youth on proper waste sorting and recycling practices. By leveraging machine learning for waste classification and providing interactive educational content, the app aims to raise awareness and promote sustainable waste management behaviors. Users can upload images of waste for instant classification, engage with quizzes, and earn badges for their progress. Our goal is to foster early environmental awareness and contribute to a sustainable future.

☑️Features

👨‍💻What I Have Learned

💡Challenges and Solutions

Challenges Solutions
Communication between teams, because every activity carried out by different paths blocks each other's progress Proposing dummy data like the ML team just creates a dummy model first that can at least be run by the MD team, likewise the CC team creates an endpoint with just returning dummy data first
I was struggling to determine which activity should be the main point when the application is launched, because later there will be onboarding, welcome (login and register) section, as well as the main page.

If the user is installing for the first time, then display onboarding

If the user has seen onboarding but has not logged in, then when the application is opened for the second time, he will be directed to welcome.

If the user has logged in, it will immediately display the main page (so the user won't have to log in again)

If the user logs out of his account, then navigate to welcome. If the user opens the application again while not logged in, a welcome display will appear. | Try to write several scenarios, for example when the main point of the Activity is in the Welcome Activity, in the Onboarding Activity, or in the Main Activity.

This way I can know the better choice among several scenarios that can be implemented.

The result is that the Onboarding Activity is made the main point, so everything when the application is launched will be checked in the Onboarding Activity whether it has an existing session (isLogin = true), or simply knows that the user has already seen Onboarding so there is no need to see it again (isOnboarding = true). |