Giter Club home page Giter Club logo

codefund's Introduction

Gitcoin is a constellation of Ethereum-based smart contracts designed to Push Open Source Forward. Learn more at https://gitcoin.co

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

Why cryptocurrency

Cryptocurrency allows end-users to send tips and issue funding for Github Issues without

  • bureacracy
  • trusted intermediaries
  • international payment fees
  • credit card fees
  • plus it allows funding in ERC20 tokens!

More about how/why cryptocurrency here

What is Gitcoin?

Gitcoin is an open source distributed network that makes it easy to monetize your work in open source software.

Network Values, Mission, and Culture

Read about our culture and mission here

Open Funded Issues

View our open funded work via this link:

Features

A tip is a tool to send ether or any ethereum token to any github account. The flow for tips looks like this:

Send (party 1) => receive (party 2)

Funded Issues are a way to fund open source features, bugs, or security bounties. The flow for funded issues looks like this:

Fund Issue (party 1) => claim funds (party 2) => accept (party 1)

What kinds of issues make great funded issues?

Gitcoin supports bug, feature, and security funded issues. Any issue that you need done is a good candidate for a funded issue, provided that:

  • It’s open today.
  • The repo README clearly enumerates how a new developer should get set up to contribute.
  • The task is well defined.
  • The end-state of the task is well defined.
  • The pricing of the task reflects (market rate * complexity) of the task.
  • The issue is on the roadmap, but does not block other work.

To get started with funded issues today, it might be good to start small. Is there a small bug that needs fixed? An issue that’s been open for a while that no one is tackling? An administrative task?

Post your issue on the Issue Explorer.

Project Repos

Adding your token to Gitcoin.

Have an ERC20 compatible token that you'ud like to add support for? Great!

Here is an example of how to do it

Getting Started

Check out the developer guide at https://gitcoin.co/help/dev.

Check out the repo maintainer guide at https://gitcoin.co/help/repo.

Check out the Case Study doc at https://gitcoin.co/casestudies.

Dogfood Gitcoin

Here's a list of active Funded Issues that were made for building gitcoinco.

About the team

Kevin Owocki has a BS in Computer Science, 15 years experience in Open Source Software and Technology Startups. He is a volunteer in the Boulder Community for several community organizations, and an avid open source developer. His work has been featured in TechCrunch, CNN, Inc Magazine, The New York Times, BoingBoing, WIRED, Forbes, and TechDigest.

Also, we are hiring!

codefund's People

Contributors

arku avatar bakaoh avatar coderberry avatar consoletvs avatar darkdarkdragon avatar hopsoft avatar limonte avatar nasehim7 avatar oliviertassinari avatar stareintothebeard avatar untra avatar zoek1 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

codefund's Issues

Add date-range filtering to the dashboard

On the dashboard, I want to be able to filter the data by date range. The date range selector should be above all charts and graphs in order to be applied to all data on that page.

When the dates change, the charts should automatically update, reflecting the new range.

Edit an existing Ad Creative

As a sponsor, I can edit an existing ad creative.

This includes:

  • Budgets (daily, monthly, max)
  • Min/Max CPC
  • Messaging
  • Colors
  • Image?

Create a new Ad Creative

As a sponsor, I can add a new ad creative.

This includes:

  • Budgets (daily, monthly, max)
  • Min/Max CPC
  • Messaging
  • Colors
  • Image?

Move Schemas to their contexts

Enhancement

Phoenix 1.3 presents us with a powerful option (Contexts) to use when modelling our application, In lieu of separating a model of your application, we would use Contexts to arrange our code and share the functionality.
More on this see this video https://www.youtube.com/watch?v=tMO28ar0lW8

Work Proposed

Move schemas from lib/schemas to their respective contexts

Done

When we can agree on how to arrange the code

Add funding in the form of ETH

As a sponsor, I can fund my account by sending ETH through the platform.

Tasks:

  • Create form to enter amount and calculate gas price and current pricing
  • Hook into geth in order to capture the transfer
  • Display payment confirmation
  • Notify sponsor when transaction has completed

add a linter, and fix the few linting errors

credo is the prefered elixir linter. Developing an elixir project with credo is easier than without it, and it helps enforce a consistent style across a project.

There are even extensions for popular code editors to display the linting errors during development:

In addition, you can add credo linting as part of the travis CI

Set up fallback campaign to be set via ENV variable

When budgets run out on normal campaigns, the next campaign loaded should be loaded from an ENV variable.

e.g. FALLBACK_CAMPAIGN_ID=____

This would modify the logic in the ad_serve_controller#details by updating the default to be this campaign (instead of what is stubbed)

Enhance property form

Include:

  • Weekly Impressions
  • Weekly Unique Impressions
  • Audience Categories
  • Website Type (app, docs, etc)

List Users

As an admin, I want to be able to see a list of all the user accounts. This list should include name, email and # of properties.

Q1 Goals

Marketing Pages

Homepage content

  • How it works
  • Testimonials
  • Ethical Advertising
  • Contact
  • Live stats (#32)
  • FAQ
  • Newsletter integration (mailchimp)
  • Add better messaging UX (for flash messages)

Login

  • Email
  • GitHub (#28)
  • GitLab (#30)
  • BitBucket (#29)

Register

  • Email (#25)
  • GitHub
  • GitLab
  • BitBucket

Manage profile

  • View (#24)
  • Edit (#23)
  • Manage payment information
  • Legal agreement
  • Add funds (#22)

Property management

  • Add new website
  • Update existing website
  • Code for adding to property location (test / live) (#31)

Dashboard

  • Impressions (#15)
  • Clicks (#14)
  • Earnings (#27)
  • Distribution History (#26)

Funding History

  • List (#21)
  • View Receipt (#20)

Creative Management

  • Create Ad (#19)
  • Update Ad (#18)

Property search

  • List all properties in paginated table (#17)
  • Select projects to sponsor (#16)

Administration

  • Ability to accept crypto as form of funding from sponsors (#13)
  • Ability to distribute funds as crypt to developers (#12)
  • Integrate Rollbar (#11)

Masquerade as user

As an admin, I can masquerade as a user. When I view the user list, I can click a button that will log me in as another user. There will be a link at the top to "Return to Admin", which will return me back to my original logged in user and place me back on the user list.

Edit Profile

I can edit my own profile. This includes:

  • My name, email, address, contact info
  • My payment method (PayPal or ETH)
  • Paypal address or ETH address

View the embed code for properties

As a developer, I can get the embed code to put on my website. This code will have a test flag to indicate whether the impression/click counts.

Enable distribution of ETH for payable clicks

As an administrator, I can distribute funds as crypto-currency to developers.

Tasks

  • Calculating amount owed by converting prices of USD -> ETH
  • Marking payable clicks as distributed and linked to a distribution record

Ad Creative Embed Script

API endpoints will be provided. The code needs to do the following:

  • Provide a script URL that can be placed on a website
  • When the script loads (via browser), an API call is made to the impressions endpoint with browser data
  • The html (returned in the payload) will be rendered .. ideally not in iframe, but in the actual HTML inline where the script exists
  • If the link is clicked, the user is redirected to the click endpoint (this is likely handled already in the payload)

Extra credit (tip):

  • Provide a way for developers to specify in the script (or in js) some attributes of the ad to display (for example, theme (light/dark), width, height, etc.

Subtract ad spend from budgets

When a payable click occurs, the app should:

  • Display the remaining budget for the campaign
  • Discontinue displaying the ad if the budget runs out for day/month/total
  • Switches to next advertiser if previous advertiser budget is exhausted

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.