Getting Started

Welcome to the LiteFarm team! This article serves as an introduction for incoming coop students and would-be contributors. We’re so excited you’ve decided to join us!

LiteFarm is a free and open source AgTech app tailor-made to help sustainable farmers make the right decisions about the health of their farm, their livelihood, their community, and the planet. The app is currently being used by more than 2,500 farmers in 120 countries and we have ambitious plans to reach more than 10,000 farmers in 2023. The core of our philosophy is building software farmers will actually use. This https://lite-farm.atlassian.net/wiki/spaces/LITEFARM/pages/78905350 rests on 3 core tenants:

  1. Build functionality farmers need and make it accessible through a clean, accessible UI that farmers can pick up and learn (e.g. Simplicity > Robustness)

  2. Help our farmers make a living!

  3. Give farmers the access to expert knowledge and tools they need to run a successful farm!

These approaches serve the dual purposes of incentivizing adoption of sustainable land use practices through the provision of evidence-based decision support, and significantly increasing the amount of data being collected by diversified farming operations (and thus analyzed by researchers) around the globe. LiteFarm is being developed with farmers at the centre of the design process and built from the ground up with accessibility and utility in mind. We are proud of our https://lite-farm.atlassian.net/wiki/spaces/LITEFARM/pages/43712527 :

To meet farmers where they are and equip them with the tools they need to make informed and responsible decisions about the health of their farm, their livelihood, their community, and the planet.

Secondarily, LiteFarm was born as a student developed project and we maintain this commitment to promoting ongoing learning. For students joining us, please know that every single “permanent” member of the team is willing and interested in helping you to become the best possible professional you can be. We want you to know this a space for learning and experimenting, where making mistakes, asking questions, and saying “I don’t know” is completely fine. As a matter of fact, the greatest “sin” is not getting the help you need. We hope you leave your term, two terms, or ten years with the project confident in:

  • The good work you have contributed to the LiteFarm project

  • Your ability to operate as a team member in a professional, high performing agile environment

  • Your knowledge of the PERN stack

We encourage you to tackle every day as an opportunity to learn something new and stretch yourself. Once again, welcome to the LiteFarm team!

Team

This is a directory of the extended LiteFarm team. We’ve outlined working hours, who can help with what, and the best way to get in contact with each person. Please actively reference this if you’ve got a problem and you’re not sure who to talk to.

Name

Role

Approximate Working Hours (PT)

I can help you…

Preferred Method of Communication

Name

Role

Approximate Working Hours (PT)

I can help you…

Preferred Method of Communication

Kevin Cussen ( @Lite Farm )

Product Manager

M - Fr: 9AM - 5PM; 8PM - 11PM (as needed)

  • Understand why we’re building what we’re building

  • Understand the strategy, direction, and roadmap of LiteFarm

  • Understand the needs of the user

  • Understand details (or missing details) about specific stories

  • Learn more about scrum and teams in general

  • with administrative questions about hours, paychecks, etc.

  • Slack @kcussen for most day-to-day things within the team

  • Tagging @Lite Farm on Jira in the comments for any questions about implementation of that story

  • Tagging @Lite Farm on Confluence comments for any questions about a guidance document

  • Email @ kcussen@litefarm.org for anything administrative

  • WhatsApp for anything urgent when I’m not responding on Slack

TBD

Senior Full Stack Engineer

 

  • Understand Scrum process details

  • With software design, code quality, and general development issues

  • With SQL, JS, HTML, HTTP, Express, Node, etc.

 

@Carolina di Lello

UX Designer

M - F: 5:00 AM - 2 PM

  • Design guidance

  • UI/UX questions

  • Slack: @Carolina di Lello

  • Email: cdilello@litefarm.org

@David Trapp

Farmer Success Coordinator

M - F: 5:00 AM - 2 PM

 

  • Support current and prospective LiteFarm users

  • Slack: @David Trapp

  • Email: dtrapp@litefarm.org

  • Whatsapp If I’m not responding on Slack or for anything more urgent.

@Mwayanjana Bolokonya

Quality Assurance Engineer

M - F: 5AM - 1PM

Reach me outside these hours through slack.

  • Quality assurance activities

  • Slack: @Mwaya Bolokonya

  • Email: mbolokonya@litefarm.org

Anant Awasthy

Fullstack Coop Engineer

M - Fr: 9AM - 5PM

  • With Node, Express, React and postgresql

  • Slack: @Anant Sunilam Awasthy

  • Email: aawasthy@litefarm.org

Calum Murray

Fullstack Coop Engineer

M - F: 6AM - 2PM

  • React, Node, Express, Typescript, PostgreSQL, and Docker

  • Slack: @Calum Murray

  • Email: cmurray@litefarm.org

Noa Bridson

Research Associate

 

 

 

Hannah Wittman

Professor at the Centre for Sustainable Food Systems

By appointment (via email)

  • Understand how LiteFarm and data from LiteFarm will be used to conduct research

  • hannah.wittman@ubc.ca

 

 

Sprint Flow

Standard sprint “rituals” (AKA meetings)

Story flow

Tools

Here’s the list of tools you’re likely to use, including descriptions, where you can access them, and whom you should speak with to get access (if you don’t have it).

Tool

Description

To Access..

Administrator(s)

Tool

Description

To Access..

Administrator(s)

Slack

Primary communication tool

litefarm.slack.com

  • Kevin

Jira

Tool for running stories and communicating about stories. Our sprint workflow is described here: https://lite-farm.atlassian.net/wiki/spaces/LITEFARM/pages/31096833

https://lite-farm.atlassian.net/secure/RapidBoard.jspa?rapidView=1&projectKey=LF

  • Kevin

Confluence

Confluence is where we document overarching guidance documents. Guidance documents describe the “spirit” or “rules” of something within the app without getting into individual screens, endpoints, etc.

https://lite-farm.atlassian.net/wiki/spaces/LITEFARM

  • Kevin

Github

Where our code lives

https://github.com/LiteFarmOrg/LiteFarm

  • Kevin

Git

Distributed version control system

https://gist.github.com/derhuerst/1b15ff4652a867391f03

  • Kevin

Figma

Tool for building and sharing UI

View-only access will be embedded into Jira stories

  • Caro

productboard

Roadmap

https://portal.productboard.com/litefarm/1-product-portal/tabs/2-planned

  • Kevin

LucidChart

Tool for creating flows

View-only access will be embedded into Jira stories

  • Kevin

Digital Ocean

Tool to host the production and integration environments

https://beta.litefarm.org

https://app.litefarm.org

  • Kevin

  • Orangel

Github Actions

The CI/CD process for LiteFarm

 

  • Kevin

  • Calum

LastPass

Tool for sharing credentials

https://lastpass.com/misc_download2.php

  • Kevin

EngageBay

LiteFarm CRM

N/A

  • Kevin

  • David

 

Communications best practices

We’re a distributed team, so communications are both super-important to getting work done and maintaining a strong team culture. These are a few best practices we can recommend!

Tool

Description

Do

Don’t

Tool

Description

Do

Don’t

Slack

We use Slack for 90% of our team communication. It’s nice for discussing topics or jumping on a quick call. If you’re not a pro today, you will be soon!

  • Use Slack liberally to contact people

  • Use the “sprint-team” channel for communications about stories in the current sprint

  • Put up an away tag and pause notifications for an hour or two if you need to concentrate on something

  • Use Slack calls for quick chats where screen sharing / annotating are helpful (you need to have the desktop version, not the browser version to do this)

  • Search keywords if you’re trying to learn about something

  • Suggest integrations if it could be helpful!

  • Put up an “Away from keyboard” when you head to lunch, out for a walk, are in a meeting, or whatever

  • Keep conversations one-on-one if the whole team could learn or gain context from the discussion; instead go to a team channel

Jira

Jira is where we keep track of stories from sprint to sprint. Conversations specific to a particular story should take place on that story in the comments.

  • Add comments and questions to stories you’re working or can help with (this keeps the conversation contextual to anyone that is trying to learn about the functionality moving forward)

  • Respond to questions addressed to you without excessive delay. You can check Jira manually, or configure your preferences for notifications via email and/or Slack.

 

Confluence

Confluence is where we document overarching guidance documents.

  • Add comments to guidance pages if you have a question or comment about that particular guidance document

  • Use Confluence for really anything else…

Zoom

All our sprint rituals take place on Zoom so they can be easily scheduled. Kevin and David have a full Zoom account. Otherwise, Slack is probably easier.

 

 

Email

Email is best for communications that will eventually exit the team, e.g. a question about payroll where we’ll need to cc an HR person.

 

  • Take engineering discussions to email

WhatsApp

Is someone out of the office, you can try WhatsApping them

  • Verify someone wants to be WhatsApped before you reach out to them via WhatsApp

 

First Week Reading List

These documents will prove useful in helping your orientate

Other things for developers coming up to speed…

Following the README instructions in the code repository, set up your development environment so that you can build and run the latest code on the default branch.
Begin working through https://lite-farm.atlassian.net/wiki/spaces/LITEFARM/pages/1190395905. @Steve Mattingly (Unlicensed) will schedule a series of sessions to discuss this material and address your questions.
For those new to git, please schedule 30-minutes with @Steve Mattingly (Unlicensed) to level-set on using git.
Co-ops, please (individually) schedule 30-minutes with @Steve Mattingly (Unlicensed) to create your learning plan.