Inspiration
Reforestation is something pretty important to me. I think a lot of people do want to plant trees, but they may not be able to for a variety of reasons; out of these reasons, I wanted to focus on two: not knowing where to plant a tree, and lacking the motivation to do so.
What it does
As mentioned previously, this web program retrieves the user's location and returns places near them where planting trees is possible -- currently, this program returns trails and forests, a list which I am hoping to expand once I get hold of a more advanced API. Clicking on the addresses of these places will open a Google Maps tab, allowing for easy navigation if the user wants to get planting right away. This tackles the problem of not knowing where to plant trees. However, that's not all it does. The program essentially game-ifies reforestation, hopefully providing an incentive through a leaderboard and leveling-up system. Users can create accounts and track their tree-planting through them.
How we built it
I built this program using HTML, CSS, JS (my frontend), and Flask (my backend). Specifically, I used the free tier of the Here API to find and retrieve locations. I used Flask and sqlite3 together to enable user account creation and the saving of data like the user's number of trees planted, level, and their picture.
Challenges we ran into
A lot of the challenges I ran into were just single little typos that wrecked an entire section of code !😭 I also had some trouble setting up the Here API, but I was able to do it eventually.
Accomplishments that we're proud of
This is only my second Flask application!! The first one took me a few weeks, so it was a bit of a challenge to complete the whole process again (and more!) within two days. I'm proud of the entire program as a whole, I've never made something like this in such a short time :D
What we learned
I learned how to set up an API and use it with Javascript, something I've never done! I also learned how to somewhat-dynamically update web pages (Flask) and pass data between Javascript and Flask more efficiently. All in all, a very valuable experience!
What's next for TreeAssistant
There were a ton of features I wanted to add that I was unable to given the time constraint. One person can only do so much!! Some features I had planned: Communities I wanted to create a communities system. Communities would be groups of people who could chat directly on the website and go out and plant together. The Communities page of the website would display 5 communities closest to them. Posting I also wanted to implement a social media-like system where users could post pictures of themselves planting trees and comment on others' posts. Validation As of now, there is no way to validate whether or not a user has planted a tree. As such, users can just spam the "I planted here!" button to get their level up. Prizes!! This goes hand-in-hand with validation. After implementing a validation system, I would love to add in prizes, where users can receive prizes for meeting certain planting goals or getting to a certain level.
Log in or sign up for Devpost to join the conversation.