This tour explores LiteFarm’s "notifications" features. It helps to introduce the LiteFarm codebase, the structure of the repository, and the technical solution stack/toolset. It also serves as a basis for describing team expectations for passing pre-integration review.

The LiteFarm application includes a screen that lists notifications-- messages to the user that inform them of relevant events connected with their farm(s). When a user has "alerts"-- new notifications since they last viewed the notification screen-- a numeric icon will be added to the bell on the navigation bar.

User stories and other requirements for the notifications features are defined in these JIRA tickets.

We sometimes refer to the LiteFarm repo as a "monorepository". The LiteFarm monorepo defines three "packages": webapp, shared, and api. Folders with these names can be found immediately under the packages folder at the root of the repo.

As we will see, there is a kind of a fourth package, embedded within the api folder, that provides a certification export service, variously known as "exports", "scheduler", or "job scheduler".

Deployments

LiteFarm deployments include

The production environment consists of:

The pre-production environment consists of:

Individual developers run local deployments as native services rather than Docker containers. There are buckets dedicated to object storage for development setups.

note

All deployments-- production, pre-production, and individual developers-- use the single instance of the imaginary microservice on image.litefarm.org

All deployments-- production, pre-production, and individual developers-- use the single instance of the imaginary microservice on image.litefarm.org