A system that monitors and tracks ESG (Environmental, Social and Governance) disclosures and ratings from various public data sources. It collects ESG data points from sources like Feishu spreadsheets and makes them available through an administrative interface.
Note: You can get started quickly with feishu-sheet-parser.
Work with Makefile
โฏ make help # show help
โฏ make build # build binary
Work with actions
Actions provide handling of PR and issue.
We used the bot @kubbot, It can detect issues in Chinese and translate them to English, and you can interact with it using the command /comment
.
Comment in an issue:
โฏ /intive
Work with Tools
โฏ make tools
Use feishu SDK
Init client
import (
parsetsdk "github.com/kubecub/feishu-sheet-parser"
)
cli := parsetsdk.MustNewClient("cli_a253xxxxb500b", "6YKq9xxxxpZv6D")
Call open interface(CURD)
example inset
func demo() {
ctx := context.Background()
baseToken := "bascntXKzhxxxxxVKPRe"
tableID := "tbl8xxxxAu"
fields := map[string]interface{}{
"multi-line text": "test content",
}
record, err := cli.CreateRecord(ctx, baseToken, tableID, fields)
if err != nil {
fmt.Printf("createRecord failed, err=%v\n", err)
} else {
fmt.Printf("createRecord success, record=%+#v\n", record)
}
}
graph LR
subgraph External Services
feishuAPI --> sheetParser
end
subgraph Sheet Parser & Manager
sheetParser[Sheet Parser] --> versionControl
versionControl[Version Control] --> sheetDisplay
end
subgraph Display
sheetDisplay[Sheet Display] --> UI
end
subgraph Backend
versionControl --> API
end
subgraph Frontend
UI[User Interface]
end
API --> UI
UI --> feishuAPI
MVC Architecture Design:
graph LR
A[View] -->|1. User interaction| B(Controller)
B -->|2. Requests data| C(Model)
C -->|3. Returns data| B
B -->|4. Updates view| A
.
โโโ CONTRIBUTING.md # Contribution guidelines
โโโ LICENSE # License information
โโโ Makefile # Makefile for building the project
โโโ README.md # Project readme
โโโ bin # Binary files
โ โโโ main # Main binary executable
โโโ cmd # Command-line interface source code
โ โโโ feishusheet # Feishusheet CLI source code
โโโ configs # Configuration files
โ โโโ config.yaml # YAML configuration file
โโโ docs # Documentation folder
โ โโโ README.md # README for documentation
โโโ examples # Example files
โโโ go.mod # Go module definition file
โโโ go.sum # Go module checksum file
โโโ internal # Internal packages
โ โโโ controllers # Controllers package
โ โโโ model # Model package
โ โโโ service # Service package
โ โโโ utils # Utils package
โ โโโ views # Views package
โโโ pkg # Public packages
โ โโโ feishu # Feishu package
โ โโโ feishusdk # Feishu SDK package
โ โโโ http # HTTP package
โ โโโ log # Logging package
โ โโโ version # Versioning package
โโโ scripts # Script files
โ โโโ boilerplate.txt # Boilerplate text file
โ โโโ build.sh # Build script
โ โโโ githooks # Git hooks folder
โโโ test # Test files
โ โโโ README.md # README for tests
โโโ web # Web-related files
We welcome everyone to join us and contribute to feishu-sheet-parser, whether you are new to open source or professional. We are committed to promoting an open source culture, so we offer community members neighborhood prizes and reward money in recognition of their contributions. We believe that by working together, we can build a strong community and make valuable open source tools and resources available to more people. So if you are interested in feishu-sheet-parser, please join our community and start contributing your ideas and skills!
We take notes of each biweekly meeting in GitHub discussions, and our minutes are written in Google Docs.
feishu-sheet-parser maintains a public roadmap. It gives a a high-level view of the main priorities for the project, the maturity of different features and projects, and how to influence the project direction.
kubecub Our goal is to build a top-level open source community. We have a set of standards, in the Community repository.
If you'd like to contribute to this feishu-sheet-parser repository, please read our contributor documentation.
Before you start, please make sure your changes are in demand. The best for that is to create a new discussion OR Slack Communication, or if you find an issue, report it first.
Sealer is licensed under the Apache License, Version 2.0. See LICENSE for the full license text.