bwhm 4 年之前
父節點
當前提交
e7ebe94d07
共有 3 個文件被更改,包括 255 次插入0 次删除
  1. 62 0
      bounties-overview/README.md
  2. 76 0
      bounties-overview/bounties-status.json
  3. 117 0
      bounties-overview/bounties.schema.json

+ 62 - 0
bounties-overview/README.md

@@ -0,0 +1,62 @@
+<p align="center"><img src="/img/bounties_new.svg"></p>
+
+## Bounty Status
+
+|ID |Title                        |Issue |Opened   |Reward|Forum Thread                                              |Status/Grading  |PR   |Proposal                                            |
+|:-:|:---------------------------:|:----:|:-------:|:----:|:---------------------------------------------------------|:--------------:|:---:|:--------------------------------------------------:|
+|1  |Update Telegram Bot          |#23   |23.09.20 |$300  |[118](https://testnet.joystream.org/#/forum/threads/118)  |$300 - 01.11.20 |#36  |[32](https://testnet.joystream.org/#/proposals/32)  |
+|2  |...                          |...   |DD.MM.YY |$n    |[n](https://testnet.joystream.org/#/forum/threads/n)      |                |...  |[n](https://testnet.joystream.org/#/proposals/n)    |
+|7  |Joystream Player Loading     |#85   |15.02.21 |$400  |[n](https://testnet.joystream.org/#/forum/threads/n)      |Announced       |NA   |NA                                                  |
+|8  |Ledger on Joystream          |#86   |15.02.21 |$300  |[n](https://testnet.joystream.org/#/forum/threads/n)      |Announced       |NA   |NA                                                  |
+|9  |Repo/Docs Improvements       |#87|15.02.21 |$400  |[n](https://testnet.joystream.org/#/forum/threads/n)      |Announced       |NA   |NA                                                  |
+|10 |Upload Public Domain Content |#88   |15.02.21 |$5*  |[n](https://testnet.joystream.org/#/forum/threads/n)      |Announced       |NA   |NA                                                  |
+|11 |Design Community Repo Banner |#89   |15.02.21 |$250  |[n](https://testnet.joystream.org/#/forum/threads/n)      |Announced       |NA   |NA                                                  |
+
+## Bounties Management
+Part of the job for the Council is to manage these bounties. The tasks associated with that is:
+1. Familiarize themselves with the tasks specified in the issue
+2. Seek further information from Jsgenesis on any ambiguous or missing items
+3. Decide on the format, full workflow and process
+4. Create a forum thread with:
+  - Link to the issue with full description
+  - Specify the format and workflow
+  - If applicable
+    - list what it takes to be assigned the bounty
+    - assign an admin
+    - set milestones/timelines
+5. Update the [json](/bounties-overview/bounties-status.json) in accordance with the [schema](/bounties-overview/bounties). See explanation [here](#bounties-schema).
+6. Assign a community member`*`, and update json
+7. Follow up as required
+8. Once a non-final spending proposal`**` is made:
+  - Ensure it's in line with the workflow set
+  - Review the work submitted
+  - Approve if appropriate
+9. Once the final spending proposal is made:
+  - Ensure it's in line with the workflow set
+  - Verify the Jsgenesis requirements are met (eg. a PR is made)
+  - Review/grade the work submitted
+  - Check if the requested funds matches the expected payout(s)
+  - Approve the spending proposal
+  - Tag @bhwm and @blrhc to review
+10. After the PR is closed, regardless of result, update json
+
+
+### Bounties Schema
+The Bounties displayed on our website [here](https://www.joystream.org/get-started) is read from [this](/bounties-overview/bounties-status.json) json file.
+
+Because of this, it's quite important the Council updates this json as soon as a change occurs, so anyone visiting the website gets the correct information. Making sure the json is updated correctly is even more important, as even a small formatting error will "break" that section of the website. Verifying the json against the [schema](/bounties-overview/bounties.schema.json) can be done [here](https://www.jsonschemavalidator.net/).
+
+Here are some rules:
+- As soon as a new issue, with a new Bounty is created, Jsgensis will create a PR (and request permission to merge) updating the json with required properties:
+  - `id`
+  - `title`
+  - `description`
+  - `openedDate`
+  - `links`
+  - `reward`
+  - `tags`
+- The Council will then create forum thread, and add the new link to the `links` array. Note that this new link must be added before the link to the issue to replace the link on the website. Any other changes that has been made (in agreement with Jsgenesis) can also be made.
+- Although it will not change the presentation on the website, the `status` and `format` should also be updated every time it changes.
+- Once the Bounty is completed, it should be moved from `activeBounties` to `closedBounties`, in addition to adding `closedDate`.
+
+Note that this schema may change over time, so always verify against the schema, even if you are "sure" it's correct!

+ 76 - 0
bounties-overview/bounties-status.json

@@ -0,0 +1,76 @@
+{
+  "activeBounties":
+  [
+    {
+      "id": 7,
+      "title": "Joystream Player Loading",
+      "description": "The current implementation of the Joystream Player takes a while to load. The scope of this bounty is to look into what can be done to reduce this.",
+      "openedDate": "2021-02-15",
+      "links": ["https://github.com/Joystream/community-repo/issues/85"],
+      "reward": 300,
+      "tags": ["Coding","Research"],
+      "format": "Closed",
+      "status": "Announced"
+    },
+    {
+      "id": 8,
+      "title": "Ledger on Joystream",
+      "description": "Research how well the Ledger hardware wallet is supported, how to use them on the network, derivation paths and key recovery.",
+      "openedDate": "2021-02-15",
+      "links": ["https://github.com/Joystream/community-repo/issues/86"],
+      "reward": 300,
+      "tags": ["Research"],
+      "format": "Closed",
+      "status": "Announced"
+    },
+    {
+      "id": 9,
+      "title": "Repo/Docs Improvements",
+      "description": "Improve the quality of our documentation on Github, by making PRs and ",
+      "openedDate": "2021-02-15",
+      "links": ["https://github.com/Joystream/community-repo/issues/87"],
+      "reward": 300,
+      "tags": ["Newcomers","Research"],
+      "format": "Free for All",
+      "status": "Announced"
+    },
+    {
+      "id": 10,
+      "title": "Upload Public Domain Content",
+      "description": "Upload videos to our testnet, and earn up to $5 per entry! We believe there are some hidden gems available out there, that is licensed permissive.",
+      "openedDate": "2021-02-15",
+      "links": ["https://github.com/Joystream/community-repo/issues/88"],
+      "reward": 5,
+      "tags": ["Newcomers","Content"],
+      "format": "Free for All",
+      "status": "Announced"
+    },
+    {
+      "id": 11,
+      "title": "Design Community Repo Banner",
+      "openedDate": "2021-02-15",
+      "description": "Most of the active repos in the Joystream organization have branded banners in their README.md. The Community Repo also needs one!",
+      "links": ["https://github.com/Joystream/community-repo/issues/89"],
+      "reward": 250,
+      "notes": "Design a banner for the Community Repo",
+      "tags": ["Design"],
+      "format": "Free for All",
+      "status": "Announced"
+    }
+  ],
+  "closedBounties":
+  [
+    {
+      "id": 1,
+      "title": "Update Telegram Bot",
+      "openedDate": "2020-09-23",
+      "description": "As the old bot is not compatible with the new joystream-types, it needs to updated as soon as possible!",
+      "links": ["https://testnet.joystream.org/#/forum/threads/118","https://github.com/Joystream/community-repo/issues/23"],
+      "reward": 300,
+      "tags": ["Coding"],
+      "format": "Reserved",
+      "closedDate": "2020-11-01",
+      "status": "Completed - USD 300"
+    }
+  ]
+}

+ 117 - 0
bounties-overview/bounties.schema.json

@@ -0,0 +1,117 @@
+{
+  "$schema": "http://json-schema.org/draft-07/schema",
+  "$id": "https://joystream.org/bounties.schema.json",
+  "title": "bountiesSchema",
+  "description": "JSON schema to describe bounties for the Joystream Community",
+  "type": "object",
+  "additionalProperties": false,
+  "properties": {
+    "activeBounties": {
+      "type": "array",
+      "items": { "$ref": "#/definitions/activeBounty"}
+    },
+    "closedBounties": {
+      "type": "array",
+      "items": { "$ref": "#/definitions/closedBounty"}
+    }
+  },
+  "definitions": {
+    "activeBounty": {
+      "type": "object",
+      "required": [
+        "id",
+        "title",
+        "description",
+        "openedDate",
+        "links",
+        "reward",
+        "tags"
+      ],
+      "properties": {
+        "id": { "$ref": "#/definitions/id"},
+        "title": { "$ref": "#/definitions/title"},
+        "description": { "$ref": "#/definitions/description"},
+        "openedDate": { "$ref": "#/definitions/openedDate"},
+        "links": { "$ref": "#/definitions/links"},
+        "reward": { "$ref": "#/definitions/reward"},
+        "tags":  { "$ref": "#/definitions/tags"},
+        "status": { "$ref": "#/definitions/status"},
+        "format": { "$ref": "#/definitions/format"}
+      }
+    },
+    "closedBounty": {
+      "type": "object",
+      "required": [
+        "id",
+        "title",
+        "description",
+        "openedDate",
+        "links",
+        "reward",
+        "tags"
+      ],
+      "properties": {
+        "id": { "$ref": "#/definitions/id"},
+        "title": { "$ref": "#/definitions/title"},
+        "description": { "$ref": "#/definitions/description"},
+        "openedDate": { "$ref": "#/definitions/openedDate"},
+        "links": { "$ref": "#/definitions/links"},
+        "reward": { "$ref": "#/definitions/reward"},
+        "tags":  { "$ref": "#/definitions/tags"},
+        "closedDate": { "$ref": "#/definitions/closedDate"},
+        "format": { "$ref": "#/definitions/format"}
+      }
+    },
+    "id": {
+      "type": "integer",
+      "uniqueItems": true,
+      "minimum": 1
+    },
+    "title": {
+      "type": "string",
+      "minLength": 1,
+      "maxLength": 29
+    },
+    "description": {
+      "type": "string",
+      "minLength": 1,
+      "maxLength": 190
+    },
+    "openedDate": {
+      "type":"string",
+      "format": "date"
+    },
+    "links": {
+      "type":"array",
+      "uniqueItems": true,
+      "items": { "$ref": "#/definitions/link" }
+    },
+    "reward": {
+      "type": "integer"
+    },
+    "tags": {
+      "type": "array",
+      "uniqueItems": true,
+      "items": { "$ref": "#/definitions/tagName" }
+    },
+    "closedDate": {
+      "type":"string",
+      "format": "date"
+    },
+    "status": {
+      "type":"string"
+    },
+    "format": {
+      "type":"string"
+    },
+    "tagName": {
+      "type": "string",
+      "minLength": 1,
+      "maxLength": 20
+    },
+    "link": {
+      "type":"string",
+      "format": "uri"
+    }
+  }
+}