/gitpay

Bounties for issues on demand. Be rewarded by learning, using Git workflow and continuous integration

Primary LanguageJavaScriptGNU Affero General Public License v3.0AGPL-3.0

Gitpay

Codacy Badge Financial Contributors on Open Collective FOSSA Status first-timers-only Average time to resolve an issue Percentage of issues still open

An Open Source Bounty platform to solve issues from Git, since open source and libraries to real projects demands

https://gitpitch.com/worknenjoy/gitpay

Slack channel

We have a slack channel to collaborate with solutions and to help you, and to be fun

Join us on slack

What is Gitpay?

We offer a marketplace for contributors and projects that use git for on demand project needs, using the Git Workflow as contract to solve issues and reward contributors.

  • You can complete tasks with open collaboration and receive bounties for it
  • Companies can receive reports, fixes and enhancements about the project by developers and offer bounties to complete required tasks

Who is contributing

This project exists thanks to all the people who contribute. [Contribute].

Join the team

Join the Github team to be assigned to tasks and to be part of the core.

Join the Gitpay team on Github

Requirements

  • Node.js (currently at v8.6.0)
  • React with webpack

Running tests

To run the test: npm run migrate-test (first time)

npm run test (to run the tests)

Setup environment

For fully integration with api services used by the platform, you will need the api keys. You should make a copy of your .env.example to .env with the right credentials. Please let me know if you need any of those to solve a issue (mail tarefas@gitpay.me)

You can do this with: cp .env.example .env

You need to run create the .env in order to run the project: cp .env.example .env

Database

Install postgres

  1. install: brew install postgres (mac)
  2. start the service: brew services start postgresql
  3. create postgres user: createuser postgres -s
  4. Login into postgres cli: psql -U postgres
  5. Create test database: create database gitpay_test;
  6. Create a dev database: create database gitpay_dev;
  7. Exit: \q

Run migration

To run the migrations

npm run migrate

To create a new migration

sequelize migration:create --name modelname

How to create new models

  • For Many to Many
    1. Create migration for first model (table organizations)
    2. Create migration for second model (table projects)
    3. Create migration for joint model (table organizations_projects)
    4. Change in the model to Project.belongsTo(models.Organization)
    5. Change in the second model to Organization.hasMany(models.Project)

Database seeding

For more information related to database seeding please refer: https://en.wikipedia.org/wiki/Database_seeding

To seed the database

npm run seed

For test environment

npm run seed-test

For exhaustive list of options available, refer migration.js in root directory

Run project

Frontend server

  • first go to frontend folder: cd frontend
  • Then run the server: npm run dev

Backend (node.js)

npm run start:dev

Then you can access at http://localhost:8082

Translation

Please don't change the translation files directly, they will be managed on Crowdin. The only thing you need to do is run

npm run translate

on front-end and use the React Intl (https://formatjs.io/docs/react-intl/) library to give id and default text to your strings.

Docker

Requirements

  • Docker Engine
  • Docker Compose

Linux

Ubuntu

Installing

Arch Linux / Manjaro / Antergos

Installing

  • Docker and Docker Compose: sudo pacman -S docker docker-compose

Running

Development environment
Test environment
  • Run docker-compose -f docker-compose.test.yml up

First timers

Here you can start to learn how to create your first pull request and start to be a contributor: worknenjoy#247

Financial Contributors

Become a financial contributor and help us sustain our community. [Contribute]

Individuals

Organizations

Support this project with your organization. Your logo will show up here with a link to your website. [Contribute]

License

FOSSA Status