allo-protocol / allo-v2

Core Allo V2 Contracts
GNU Affero General Public License v3.0
90 stars 73 forks source link

Create a community program #360

Open 0xZakk opened 1 year ago

0xZakk commented 1 year ago

Problem

Summarize the raw idea, use case, or something you’ve seen that motivates us to work on this.

We want the application to work in a generalized way, per "community program." This means that there should be a way for someone to connect their wallet and create a program for their community (Gitcoin, Celo, Aztec, Arweave, etc).

Apetite

Select one of the following and delete the other. Add any nuance below. How much time are we willing to spend on this and how does that constrain the solution?

Small Batch: This is a project that a team of one designer and one or two programmers can build in one or two days. We batch these together into a six week cycle (more on that later).

Solution

The core elements you came up with, presented in a form that’s easy for people to understand. Drawings and doodles are very encouraged.

We need a way to create and represent a community program in the application. That means a program creation flow that creates a profile in the registry for that program and lets it create pools (which will act as separate seasonal funds).

Examples:

Behind the scenes, this should create a profile in the project registry for the community program. This profile will tie all the community funds together.

Graphic here

The community creation flow is effectively our onboarding flow. Each community program should be distinct, even though a community (i.e. Celo) might create multiple community programs (i.e. Climate Collective, Social Impact, DeFi, etc [read more]).

Rabbit Holes

What additional details about the solution are worth calling out? What things are we specifically trying to avoid?

Programs should be fairly lightweight and not include a ton of data about them. This data should be stored as JSON on IPFS as the metadata attached to a profile in the project registry. Some of the data collected in this creation flow should be informed by what gets displayed in the detail page (separate shape up).

Planning Docs

List or provide any other, related planning docs that will help someone grok the problem or solution

linear[bot] commented 4 months ago

DEV-258 Create a community program