Skip to content

Latest commit

 

History

History
214 lines (161 loc) · 8.34 KB

README.md

File metadata and controls

214 lines (161 loc) · 8.34 KB

⭐️ Template for a typical module written on Go. ⭐️

A+ good first

English中文Docs


🧩 Awesome features

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.

🛫 Quick start

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)
    }
}

🕋 architecture diagram

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 
Loading

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
Loading

🤖 File Directory Description

.
├── 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

🗓️ community meeting

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.

🤼‍ Contributing & Development

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.

🚨 License

Sealer is licensed under the Apache License, Version 2.0. See LICENSE for the full license text.

FOSSA Status

🔮 Thanks to our contributors!