We are here to make the world a cooler, richer and greener place.
Basic Overview: The treetracker-android app is a tool to allow planters to verify tree planting and tree survival with geo-tagged, time-stamped images. The tree images and data points are analyzed using the treetracker-admin-client and displayed and shared via tokens/links on the treetracker-web-map-client. This map can be embedded on other organizations' websites displaying their planted and mapped trees. The wallet-api is a service that allows people to create/register wallet and transfer tokens. These token are created from data linked to a claim of having created a ecological impact, though the tending and caring of trees. The tokens and the wallet system can be used to trade tokens via an API. Postman is a helpful tool for interacting with the wallet API
Help us star and fork our repositories.
Read up on the project:
See Greenstand Engineering Handbook
See Greenstand Operations Handbook
Roadmap for our feature development plans
-
Fill out the Engineering Sign Up
-
Join us on Slack
-
Ask to be added to the team on Github.
-
If you already know how, feel free to just fork and pull.
-
If the words 'fork and pull' doesn't make sense, please read up on Github below.
Think Agile - Small Iterations - Clearly Defined Commits.
-
Keep your commits small - if you worked on three issues make three commits etc.
-
Small commits help the reviewer
-
Lots of small commits make your profile look cooler.
-
When in doubt, ask. (Via Slack or Github)
- Find a task you would like to work on by browsing the repositories' issue lists below.
- Let others know what you are working on - post your intentions in the Github comments or relevant Slack channel.
- If you don't find something now, be persistent - keep asking!
-
Quality Control - Need quality control engineers to understand use cases and be available for robust testing on builds before rollout. This is often testing new features on our admin panel, webmap or mobile app. If you can find a broken link or a button that doesn't work, you have found a great way to contribute and get to know the project.
-
Documentation - help Update and sync all documentation
-
General Decisions - take part in the general decision making process: https://github.com/Greenstand/treetracker-decisions
Here are a few immediate and long-term needs. If you don’t see a project that fits, keep looking, come check in on Slack link and let’s figure out how to leverage your skills.
-
General Project Boards: https://github.com/orgs/Greenstand/projects
-
Tree tracker Web Map Client Project Beta https://github.com/orgs/Greenstand/projects/49
-
Customizable Web Map Tool: https://github.com/orgs/Greenstand/projects/56
-
Search Service on Greenstand: https://github.com/orgs/Greenstand/projects/57
-
React.js, Next.js - Our admin panel is build using React.js, Next.js. We have new designs for the web map that need to be implemented and made mobile compliant.
-
Node.js, - our APIs are build on node.js express. We need API engineers with some database experience to add features. We also need engineers to improve our testing coverage.
-
Android - Need Android UI/UX engineers and individuals with experience working with cloud integrations in offline scenarios. Experience with enhancing GPS accuracy on the Android platform is also useful.
-
iOS - We need to build a clone of our Android app in iOS.
-
DevOps - We use Github Action, Kubernetes, ArgoCD for build and deployment automation. Our automation coverage is partial and we need engineer with experience on these platforms to fix problems and streamline the process.
-
Cloud - Scaling and security analysis is needed.
-
Database - Database administration is need to continue refining our backend systems. We use PostgreSQL + PostGIS.
-
Image processing - Duplicate image detection, species detection. Let's get our analysis pipeline rolling.
A list of some Issues/Tickets**
-
Kotlin Issues: Android App
-
JavaScript Issues: Admin Panel Client, Web Map Client, Mobile App API,
-
Micro-services Issues: treetracker-api treetracker-field-data treetracker-query-api
In its most basic form, this platform is designed to collect tree images from an android application and display these images on web-maps that can be served on other organizations' websites. In its more advanced form, we are verifying individual planter's efforts by tracking individual trees over time and creating results-based employment. Each Data point or "capture" gets turned into a tradeable token
- [Treetracker-Admin User Story]
- [Treetracker Admin Project Board]
- Treetracker Admin Wiki
- Treetracker Admin Quickstart Guide
- [Development Overview Project Board]
- Development Overview Wiki
API's
- Repository - Api for working with the android mobile segment
- Repository - Api for working with admin-panel
- Repository - API for wallet
We use the Fork and Pull model. Pro Tip: Keep pull requests small and focused on the issue you are solving. (Large changes in code are much harder to accept)
If you have not heard of a pull request it is time for you to join over 27 million developers and learn this version control platform. There are lots of cool articles to get you up to speed: Github Introduction Forking a Repository in Github, Synicing a Fork in Github More links can be found here in Github Basics:project-overview/github
For Slack channel link email info@greenstand.org
Slack is our main form of communication. Here are some Slack basics: To add yourself to the desired channels: on the left window in Slack find channel +...
Our popular channels are #development, #android, #nodejs-api, #tree-talk etc..
- Speak out! Public messages build our team and keep us motivated. Use Public channels as much as possible.
- Keep your messages in the relevant channels - talk about android in the android channel etc..
- Ask any question - we are friendly and all learning together. General tech questions go in #development, other questions in #general, Android questions in #android etc.
- Pointless chatter goes in #random channel
- Use Threads to reply keeps channels cleaner.
- A list of ALL channels is found pinned to the Genneral Channel if you are not in a channel that you think you need access to, reach out.
- By logging your time (in minutes) this channel is helpful for seeing who is doing what. It is also used to:
- Reward contributors with Greenstand tokens.
- Help prevent duplicated efforts.
- Help coordinate efforts
- Gage development velocity and calculate contributions metrics.
treetracker.org Tree map Gitbook Operations Handbook