GeoTree
By. Aaron L, Andrew Z, Larry Z, Brandon L
American High School
One tree a day keeps climate change away.
Profile
We are all students from American High School in Fremont, California.
Discord Usernames
Aaron Li - YungChop$tix#2771
Larry Zhi - larryz#3854
Andrew Zheng - bonga_swonga#8509
Brandon Liu - Air Canada#6384
GeoTree allows you to environmentally improve places that you request and allows others to have an incentive to get up and start planting.
What Inspired Us?
Many things are taken for granted because sometimes we are so used to its existence. That one thing includes trees. Sometimes we see so much of it, we may not always experience bereavement when we see a tree get cut down. The thing is, our world is dependent on trees because they are crucial to the sustainability of our ecosystems. Sadly, with the need to use paper and wood increasing, deforestation just doesn’t seem to stop.
However, there is always a solution! With the bright and creative minds of the Yung Incorporation, our team has designed a lovely application that can be used to save our world. Our app encourages users to plant trees or sponsor others to plant trees.
Our inspiration mainly comes from seeing laborers plant trees. We decided to give them a helping hand by involving everyone in this activity. We are the natural guardians of the world.
How We Built It
Building the project was a challenge because we were beginners and just started learning Android Studio about a week ago. We were also using new API such as Maps API and Path API. In the end, we were able to get it to work and after countless debugging, the map was able to form. We built our program using Java’s OOP where we created a class for every object that is displayed on the map. One object is a user, the user class is stored with each login and is used to keep track of every user’s trees requested and trees planted. Another object includes stations, where the user would go to pick up a tree. Lastly, the other objects include the leaderboard and trees.
Along with our use of OOP, we used Firebase to authorize logging in and signing up into different accounts. This was also a novel concept to us and was also hard to implement.
Challenges We Faced
One major challenge that we had to face throughout the course of this project was our inexperience with Android Studio. Another challenge that we had to face is the inexperience with Maps and Path API. We just started using it in this hackathon and we had trouble at first creating the map fragment. We had not had any previous experience with this software or API, and at times found it a little confusing. There were numerous features of the app that we had little knowledge of, so putting everything together was full of perseverance and exploration.
A different type of challenge we faced during this project was merging all of our work. This process took a long time, as many people in our group were new to github as well, and were not seasoned in pushing and pulling repos.
Learning Experience
Using dataset and APIs, we had a huge grasp of how people interact with each other using the network that we have. Our app features the ability to plant other user’s trees. We learned the art of having users login by using the Fireside Database, and also learned how to use the Google Maps API to provide an understanding of how users interact with our app to plant trees.
In addition to that, our app is also a product that aims to maintain ecological balance. We love our world and want our planet to stay healthy. With that in mind, we created an app that revolves around planting trees. Trees are essential to the natural environment and we want to preserve its beauty with our app that encourages everyone to interact with each other and plant trees around the world.
Link to Github
Main Activity - https://github.com/5up3rN00b/GeoTree/blob/master/app/src/main/java/com/example/geotree/MainActivity.java
User Classes/Activities -
https://github.com/5up3rN00b/GeoTree/tree/master/app/src/main/java/com/example/geotree/User
Shop Activity -
https://github.com/5up3rN00b/GeoTree/tree/master/app/src/main/java/com/example/geotree/Shop
Map Classes/Activities -
https://github.com/5up3rN00b/GeoTree/tree/master/app/src/main/java/com/example/geotree/Map
Leaderboard Class/Activity -
https://github.com/5up3rN00b/GeoTree/tree/master/app/src/main/java/com/example/geotree/Leaderboard
Overall Project -
Link to Video