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:
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.
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.
.env-sample
to .env
docker-compose build
docker-compose run web mix deps.get
docker-compose run web mix ecto.create
docker-compose run web mix ecto.migrate
docker-compose run web mix code_fund.seed
docker-compose up -d
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
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
mix format
prior to submitting a pull request.mix credo list --ignore readability,design,refactor
to make sure your code is consistent and styled well.We have a road map of what we are going to implement next.
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.
Contributor Code of Conduct. By participating in this project you agree to abide by its terms.
This product includes GeoLite data created by MaxMind, available from http://www.maxmind.com.
We also use BrowserStack to help us ensure that the ethical ad placements are above the fold on different browsers.
We also welcome financial contributions in full transparency on our open collective. Anyone can file an expense. If the expense makes sense for the development of the community, it will be "merged" in the ledger of our open collective by the core contributors and the person who filed the expense will be reimbursed.
Thank you to all the people who have already contributed to CodeFund!
Thank you to all our backers! [Become a backer]
Thank you to all our sponsors! (please ask your company to also support this open source project by becoming a sponsor)