You can zoom out and view all trees in you city, state, country or even around the world
You can view information about trees around you by clicking markers
You can search trees and add them instead of manually entering all data
Home page with search collapsed
Default home page
This app could be used to know the various trees and plants around us and how they could benefit us. Plants could be used for a lot of purposes such as botanical use, medical use, study and research, or maybe just knowing what kind of species grow near us. The main inspiration was that plants and trees are quite interesting and once people are educated about them, maybe they could be more inspired towards working for a sustainable environment.
What it does
It shows the marked trees on a map and it's details. The full list of features is:
- Register and maintain sessions of users.
- Search from a wide variety of trees indexed in the Trefle API.
- Maps used from Mapbox.
- Logged in users can view trees near their locality or anywhere around the world.
- Users can add in new trees they discover or plant by just staying near the plant and their location gets noted.
- Users have a search engine for their convenience and can choose from a database of over a million trees.
How I built it
I built the application using React for the frontend. On the backend, it has a NodeJS Server for handling the requests. It has a MongoDB backed database to store persistent data. Third party APIs such as Trefle and Mapbox were used for building the tree search engine and for displaying the maps.
Apart from that, the application is deployed on a Google Compute Engine instance. I chose the compute engine because I had two seperate apps to run, one being the backend and other frontend, so I chose to keep them in the same instance instead of setting up two app engine instances.
Challenges I ran into
The biggest challenge seemed like time management. Since, I was also mentoring for the hackathon as well so I really had to pull up hard on sleep and get things done. Also, I took a few hits on deployment part but then stackoverflow was to the rescue as always.
Accomplishments that I'm proud of
What I'm most proud of is the way the application has been done. It's has a really smooth and minimalistic design and is easy to use and understand. Perfect for gathering a large crowd and getting them hooked onto discovering trees around them.
What I learned
My major learnings came from networking and communicating with fellow hackers at such a large scale (partly because I was a mentor as well, hehe). Other than that, there we're a few technical things that I learnt, most of them we're rookie mistakes that I almost everytime fall into. I also learnt how to deploy secure apps on the cloud. So yeah, overall the project was quite fun.
What's next for TreeMap
A few things that I have on my mind are,
- A movable pin
- User interactions such as profiling, messaging and stuff
- Badges to honor acheivements
- Forums to discuss on plant-things
Hosted version: https://www.treemap.tk:3000/
Github URL: https://github.com/Vedant1202/treemap