/web

Grow Open Source

Primary LanguageJavaScriptOtherNOASSERTION

Gitcoin

Gitcoin Grows Open Source. Learn more at https://gitcoin.co

web repo

Build Status codecov Waffle.io - Columns and their card count

This is the website that is live at gitcoin.co

Documentation

https://docs.gitcoin.co

How to interact with this repo

Table of Contents

On Github

Star and watch this github repository to stay up to date, we're pushing new code several times per week!

Check out the CHANGELOG for details about recent changes to this repository.

Also,

On Gitcoin

Check out the available open issues on Gitcoin.

What

Functionally, the app has several key features:

  • Smart Contracts -- Where funded issues are stored and indexed.
  • Brochureware -- Describes the project.
  • Funded Issue Explorer -- A searchable index of all of the work available in the system.
  • Funded Issue Submission / Acceptance flow -- Interface between the application and web3.
  • API - the HTTPS API
  • Bot - the GitcoinBot

More about how/why to interact with web3 here.

Technically, the system is architected:

  • Web3 The main source of truth for the system is the Ethereum blockchain. Check out the smart contracts.
  • Web2 This part of the app is built with Python, Django, Postgres, and a handful of other tools that are common in the web2 ecosystem.
  • Web 3 Bridge This is the bridge between web3 and the rest of the application. Mostly built in javascript(web3js) and python(web3py).
  • Brochureware Just a nice little landing page telling folks what the Gitcoin project is.

Developing

HTTPS API

For more information on the HTTPS API, please view the api README

Running locally

With Docker (Recommended)

For more information on running the app locally, please view the documentation for running gitcoinco/web with Docker

Without Docker

For more information on running the app locally, please view the documentation for running gitcoinco/web without Docker

Overriding Application Defaults

For more information on overriding the local dev environment configuration defaults, please view the environment variables documentation

Trying out Gitcoin

Posting your first issue

If you

  • have some work on your Github Issues board that you don't have time (or skills) to do.
  • are dependant upon an upstream repo for something, and you'd like to incentivize them to work onit.

try posting a funded issue at https://gitcoin.co/new.

Integrating Gitcoin

Integrating the 'available work widget' on your repo.

This widget will help you advertise that you support Gitcoin bounties, so that your community knows the best place to contribute.

Check out the widget documentation to learn how

Adding GitcoinBot to your repo

Gitcoinbot will allow you to add issues straight from github.

Check out the gitcoinbot readme to learn how

Adding your token to Gitcoin

Have an ERC20 compatible token that you'ud like to add support for? Great! Submit this form to submit it to the system

High Level flows

of a Bounty

This is the high level flow of a bounty on Gitcoin:

Chain of Custody

  1. Bounty Funder's Wallet
  2. StandardBounties Smart Contract deployed at 0x2af47a65da8cd66729b4209c22017d6a5c2d2400
  3. (Submission Made)
  4. (Submission Accepted)
  5. Recipient's Wallet

Anywhere between 2 and 4 above, Funder may withdraw their funds via 'Cancel Bounty' function for any reason.

We may introduce Arbitration via Delphi at some point in the future. Until then, we are lucky that Github users are very protective of their reputation, and therefore very kind to each other, and disputes have not generally arisen.

of a Tip

Note: Crowdfunded bounties + bulk payouts are secured by Tips (at least until Standard Bounties 2.0 is released).

This is the high level flow of a bounty on Gitcoin:

Legal

''' Copyright (C) 2018 Gitcoin Core

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published
by the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.

'''

License

GNU AFFERO GENERAL PUBLIC LICENSE