Elixir CSS JavaScript HTML Shell Dockerfile
Clone or download
Permalink
Failed to load latest commit information.
.github Add issue and pull request templates (#187) Jul 2, 2018
assets Bean/ch 221 campaign date picker (#257) Aug 6, 2018
bin bean/ch-15_s3_upload_creatives (#232) Jul 25, 2018
config Bean/ch 217 invitation bug (#247) Jul 30, 2018
docker Sponsorships refactor (#174) May 29, 2018
docs/diagrams Allow override of ad template on property (#233) Aug 1, 2018
lib bean/ch-231_decimal_input_steps (#259) Aug 8, 2018
priv bean/ch-113_impression_ad_code (#258) Aug 8, 2018
test bean/ch-113_impression_ad_code (#258) Aug 8, 2018
.credo.exs added credo to the deps, added a .credo.exs file, and fixed almost al… Mar 29, 2018
.dockerignore Dockerize application (#8) Mar 8, 2018
.env-sample bean/ch-199_sentry (#237) Jul 26, 2018
.formatter.exs bump elixir version and add formatter config Mar 29, 2018
.gitignore Enhance UI around filters, update FAQ (#255) Aug 3, 2018
.travis.yml bean/ch-199_sentry (#237) Jul 26, 2018
CODE_OF_CONDUCT.md Create CODE_OF_CONDUCT.md Feb 28, 2018
Dockerfile bean/ch-199_sentry (#237) Jul 26, 2018
Gemfile Clean up html and node (#43) Mar 14, 2018
Gemfile.lock Clean up html and node (#43) Mar 14, 2018
LICENSE Create LICENSE Feb 28, 2018
Procfile Configure for Heroku deployment Mar 9, 2018
README.md Enhance UI around filters, update FAQ (#255) Aug 3, 2018
compile Clean up html and node (#43) Mar 14, 2018
coveralls.json merge conflict Jun 20, 2018
docker-compose.yml Docker build (#37) Mar 13, 2018
elixir_buildpack.config bean/ch-199_sentry (#237) Jul 26, 2018
mix.exs Ad display groupby (#239) Jul 27, 2018
mix.lock Ad display groupby (#239) Jul 27, 2018
phoenix_static_buildpack.config Clean up html and node (#43) Mar 14, 2018

README.md

CodeFund

All Contributors Build Status code style: prettier

CodeFund is an sponsorship platform to help fund open source projects and developers. Learn more at https://codefund.io

Here are a few blog posts and podcasts that discuss CodeFund:

Table of Contents

What is this?

This is the software behind codefund.io. It's an Elixir application built on the Phoenix web framework, PostgreSQL, and many other great open source efforts.

Why is it open source?

We have built our careers on open source. We all owe a great debt to all open source developers who given so much of their free time and talents to help others. We were also inspired by The Changelog, who released their platform open source. Finally, we want to be a trusted partner to the developer community. To us, ad networks have always felt a bit shady. By being open source, we invite all to critique our code and ensure we are being honest.

Development

Using Docker

  1. Setup a complete docker and docker-compose installation
  2. Clone this repository
  3. Copy .env-sample to .env
  4. Built the phoenix app into image: docker-compose build
  5. Install dependencies: docker-compose run web mix deps.get
  6. Create the database: docker-compose run web mix ecto.create
  7. Run the migrations: docker-compose run web mix ecto.migrate
  8. Seed the db: docker-compose run web mix code_fund.seed
  9. Run the services: docker-compose up -d
  10. Visit localhost:4000 to see CodeFund running.

Without Docker (native setup)

Here are some basic steps to get CodeFund running:

git clone git@github.com:gitcoinco/codefund.git
cd codefund/
# Optionally set the following environment variables (see .env-sample)
# config postgres in config/dev.exs
# start postgres
gem install fakes3

mix deps.get
mix ecto.create
mix ecto.migrate
mix code_fund.seed
cd assets && npm install
cd ../
mix maxmind.setup
fakes3 -r /tmp/fakes3_root -p 4567
mix phx.server

Running Tests

We use fakes3 for mocking S3 uploads so you will need to have this service running prior to running tests. You can run this and tests automatically with ./bin/run_tests

What To Consider On Your Pull Requests

  1. Please run mix format prior to submitting a pull request.
  2. We're working on adding typespec to the codebase. Please consider adding them to your pull requests so we can move ahead quicker.
  3. Please make sure you've added, changed or removed tests accordingly for the code you've modified.
  4. Consider running mix credo list --ignore readability,design,refactor to make sure your code is consistent and styled well.
  5. Have fun!

Road map

We have a road map of what we are going to implement next.

CodeFund Q1 Goals

If you wish to add features that are not on the road map, you're very welcome to do so. We encourage you to create an Issue before coding, so we can all discuss the relevance to the community.

Please keep in mind that the focus is to create a great platform, so we might not implement/accept all the suggested features.

Code of Conduct

Contributor Code of Conduct. By participating in this project you agree to abide by its terms.

Attributions

This product includes GeoLite data created by MaxMind, available from http://www.maxmind.com.

Contributors


Eric Berry

💻 📖 📦

Miguel Angel Gordián

💻 📖 🚇 📦

Justin Bean

💻 📖 🤔 ⚠️

bakaoh

💻 📖

Samuel Volin

💻 🚇 🔧

Limon Monte

🐛 💻

Arun Kumar

💻 📖

Ivan Tivonenko

💻 ⚠️

Nathan Hopkins

💻 📖