Skip to content

moja-global/community-website

Repository files navigation

moja global logo

Community Website

Repository for the moja global community website, a resource for the moja global community.

Introduction

Moja global is a collaboration under the Linux Foundation that aims for the widest possible collaboration on and use of credible tools to better manage the land sector. The flagship software is the Full Lands Integration Tool (FLINT), a tool to estimate emissions and sinks of greenhouse gasses from forestry and agriculture.

The Community website aims to serve a glimpse of moja global's projects and their work to the wider community. The website hosts projects, case studies, blogs, tutorials, and more developed by the wider moja community to help you better understand our work and hopefully learn from other's experiences.

Our mission is to help new users become familiar with the moja global community. We want to:

  • Explain FLINT and the ecosystem surrounding it to anyone who is new to the ecosystem.
  • Cover updates across the ecosystem to help users stay up to date.
  • Bring Measure, Reporting, and Verification (MRV) software education to the community, in as many languages as possible.
  • Assist new developers, writers, community managers and other contributors to get started on our projects.
  • Provide them an opportunity to work on funded projects under the mentorship of the community members.

Technology Stack

We use a variety of technologies to build the web interface and support the community. They include:

We use NodeJS and Yarn to install, test, and build the website. Docusaurus has been used as a static site generator to build the website. React is being utilized to build our custom component-based user interface to provide a modern look to the website. Algolia DocSearch is used to provide search functionality to the website, offering site-indexing and rapid fast intra-site search results. GitHub Actions manages our CI/CD pipelines and issue triage. Vercel is used to deploy the website while providing us DNS management and automated deployment of our pull requests. LightHouse is used to continuously monitor our website benchmarks and help us identify SEO, accessibility and performance issues.

Installation

Before setting up the project make sure the LTS (Long Term Support) version of NodeJS is installed. We recommend using the Yarn package manager to install the project.

  1. Fork the community-website repository.
  2. Clone the repository:
git clone git@github.com:<USERNAME>/community-website.git && cd community-website

Replace the <USERNAME> with your GitHub username. If you've already forked the repo, you'll want to ensure your fork is configured and that it's up to date. This will save you the headache of potential merge conflicts. To configure your fork:

git remote add upstream https://github.com/moja-global/community-website.git

To sync your fork with the latest changes:

git checkout main
git fetch upstream
git merge upstream/main
  1. Move to website directory:
cd website
  1. Install the project:
yarn
  1. Start the project:
yarn start
  1. Build the project:
yarn build
  1. Serve the project:
yarn serve

How to Get Involved?

Moja global welcomes contributions to the community website. If you have an idea for a new feature or a bug fix, please submit an issue or pull request. Our planned features can be found on our Issue Tracker. Our contribution guides include:

Developer Notes

Linting

The project has ESLint configured to properly format the code. This enables developers to follow the same coding style and to avoid improperly-linted code. All the commands below should be run from the website directory.

yarn lint

This command logs all warnings and lint errors and the scope of fixes/improvements.

yarn lint:fix

This option instructs ESLint to try to fix as many issues as possible. The fixes are made to the actual files themselves and only the remaining unfixed issues are output.

eslint --ignore-path tmp/.eslintignore file.js

This option allows you to specify the file to use as your .eslintignore. By default, ESLint looks in the current working directory for .eslintignore. You can override this behavior by providing a path to a different file.

Deployment

We use Vercel for deployment. To enable Vercel, create an account and through the Vercel dashboard, you can create a new project by importing a GitHub repository. The repository should be a fork of the moja-global/community-website repository. Vercel will automatically configure the build settings for the project and deploy it. You can further configure the domain name and other settings in the Vercel dashboard.

If you are using GitHub pages for hosting, this command is a convenient way to build the website and push it to the gh-pages branch.

GIT_USER=<Your GitHub username> USE_SSH=true yarn deploy

You can optionally deploy it using Docker Compose. Push the following commands to your terminal.

docker-compose up --build

Frequently Asked Questions

We have a FAQ page that answers common questions around the community website and how to contribute to it.

Support

Moja global thrives on community participation, and we appreciate your contributions to our website and our documentation!

You can reach out to us through the following channels:

  • info@moja.global : Ask questions about moja global relevant to the members and management with a point of focus for new user countries and policymakers.
  • tsc@moja.global : Ask questions about contributing code, helping out with development, resolving issues and building new features with moja global teams.
  • mentorship@moja.global : Ask questions about participating in the community, sponsoring programs, funding opportunities, and community development.
  • Slack community: Connect with other developers, scientists, policymakers, and other interested people over our Slack community.

Contributors ✨

Thanks goes to these wonderful people (emoji key):


Abhishek Kumar

πŸš‡

Siddhant Khare

πŸ’» πŸ‘€ πŸ§‘β€πŸ« πŸ’¬

eemike07

πŸ’»

Faisal Jamil

πŸ’»

Utkarsh Maurya

πŸ›

Aman Kumar

πŸ›

Roma Sinha

πŸ“–

Anirudh Panda

πŸ›

Padmaja Bhol

πŸ›

Ishika414

πŸ’»

Megatank58

πŸ“–

rutujaingole

πŸ“– πŸš‡

Rajiv Singh

πŸš‡

Mizan Ali

πŸ’»

JuliΓ‘n Cabezas

🌍

Devesh Kumar

πŸ›

JanaTod

πŸ’»

Aniket Pal

πŸ’»

Kelechukwu Nwandu

πŸ“–

Sukriti Sood

πŸ’»

Aayush Srivastava

🎨

Khushboo Chaturvedi

πŸ’»

This project follows the all-contributors specification. Contributions of any kind welcome!

License

This project is licensed under the Mozilla Public License 2.0.