KlimaDAO / klimadao

Monorepo for the official KlimaDAO site, dApp, components and design system.
https://klimadao.finance
MIT License
95 stars 73 forks source link

Summary

This repo contains 6 packages.

@klimadao/app -> app.klimadao.finance, a standalone single-page-app for protocol interactions.

@klimadao/carbon-projects -> A Sanity CMS that contains curated data for Verra projects, deployed to carbon-projects.sanity.studio, and referenced by the Carbonmark frontend and backend. NOTE: Unlike the other packages, this one is not included as an NPM workspace from the root package.json. To work with the CMS you need to run sanity install from inside the carbon-projects folder.

@klimadao/carbon -> data.klimadao.finance site (formerly carbon.klimadao.finance)

@klimadao/lib -> Components and utilities that are shared between packages.

@klimadao/site -> klimadao.finance homepage, content and cms-powered pages.

Requirements

Take note, this repo utilizes newer features from Node, NPM and TypeScript 4.5.

Install dependencies

From the klimadao/ root folder, not from individual packages: npm install

Development

A set of NPM Workspace commands are provided, and can be run from the root folder.

Other scripts you should know about:

Type Generation

Typescript types for Carbonmark and Carbonmark API are generated via the generate:types script in each respective project.

Regenerate types in any of the following changes:

  1. Models in the API (.model files)
  2. Change to any of the dependant subgraphs (see codegen.constants.ts)
  3. API Version targeted by Carbonmark

Translations

For Developers

This repo uses lingui in combination with translation.io.

We follow these rules:

For translators

Setup

Translating

Pledge Dashboard

Klima Infinity pledge dashboard is backed by a firebase database. Follow the following to set up your dev environment if you'd like to contribute to the project.

Diagrams

See this page in the wiki of this repo for architecture and other diagrams.

Contributing

The DAO is looking for react/typescript devs as well as experienced Solidity devs! Enjoy a flexible work schedule and work on something truly ambitious and meaningful. Monthly compensation available based on your level of experience and degree of contribution.

If you'd like to just take a ticket or fix a bug, go for it (always better to ask first, though).

If you'd like to become a regular contributor to the DAO, join the KlimaDAO discord and follow the application instructions.

📚Check out the contribution & style guide.