Tools

Greenstand is a global, distributed team. To work together efficiently, it’s important for each contributor to be highly familiar with certain tools and technologies.

Gitbook

You are looking at it! Fantastic tool for knowledge base management. We have spaces for several different projects, you can get access to our organization on Gitbook by following this invite link: https://app.gitbook.com/invite/greenstand?invite=-MXNaeN3vcUYyQBElh_c

VSCode

Intro to VSCode

Prepared by one of our super-volunteers:

Other Details

Slack

Slack is a popular group chat tool commonly used by both technical and non-technical teams in recent years. If you’re already a power user, great! If not this video is a pretty good introduction: https://www.youtube.com/watch?v=9RJZMSsH7-g

Please note: Slack is the main way we communicate at Greenstand. If you don’t log back into slack after your onboarding meeting, we might not be in very good contact!

We HIGHLY recommend installing the slack desktop app (instead of just using it in browser) if you intend to be a core contributor to Treetracker. Among other things, this helps it not get lost in a browser tab!

You will be given a link to join us on our Slack when you onboard!

Channels

We make heavy use of slack channels for many different small teams, but we’ll only add you at first to the few that are relevant to your initial chosen focus. Later on you can search for other publicly available channels, or request access to the channels of other teams if you want to contribute more broadly!

Important Channels

#engineering - The engineering home channel

#building_time - The place to track minutes spent on the project (get recognition!)

#{your-team} - a channel for the team you will join

#{your-team}_notifications - a channel for the team you will join

#general_news - org news

#community_intros

Notifications

To stay up to date with activity and progress in our engineering organization, it’s crucial to make smart use of Slack notifications. Each channel has notification preferences that you should tweak to make work best for you. You can have slack email or push notifications to you when channels you are interested in have activity, or you can mute certain channels that you want to only check in on manually.

Note that most of our microservices teams have two main channels - a chat channel and a notifications channel. The notifications channel receives updates from github and other integrated tools - good to check in on, but you might not want to get notified yourself every time someone merges a pull request. But in contrast you should always make sure you are aware when someone opens a personal chat with you - if you aren’t checking back or getting notified, you could miss important information since this is our primary way of communicating.

Advanced Use

Since slack is so crucial for our operation, it’s really useful to hone a few advanced slack skills.

Github

All source is stored at https://github.com/Greenstand

We use GitHub to track changes to software, manage issues, and organize project stages. A few important details on our workflows follow.

Diagram of our workflow:

https://lucid.app/lucidchart/abc2aaae-5866-4823-9365-f045ec6be39f/edit?page=m-5o7ONTd-nK#

Fork/PR

We use the Fork/PR (Pull Request) flow for receiving code changes from volunteers. Details on this flow are available at the following links.

We recommend using git from the command line, but using the github app to manage source control is also feasible for those just learning git.

Draft PR

We strongly recommend using GitHub’s ‘draft PR’ functionality to submit code for discussion as you work, especially for junior devs. Draft PR’s allow code that is in an incomplete state to be reviewed and commented on by other engineers, and is a very good way to begin your involvement with our code base. As a new volunteer, you can jump in and try something out right away, and submit an incomplete draft PR to get a conversation going!

-> create a draft PR right away and start pushing to it as you work

Github Actions

We make heavy use of github actions to automate deployment to our cloud environments and run continuous integration (automated testing). These workflows can be found in .github/workflows.

Google Meet

We currently make extensive use of Google Meet for our weekly meetings.

The closed caption feature ( [CC] in bottom right controls panel) is a useful feature for non-native English speakers or those with poor network connections.

Last updated