Skip to content

worknenjoy/gitpay

Folders and files

NameName
Last commit message
Last commit date
Sep 26, 2023
Nov 25, 2024
Apr 10, 2024
Jul 13, 2020
Aug 25, 2024
Feb 20, 2024
Mar 18, 2025
Dec 19, 2024
Feb 2, 2025
Feb 2, 2025
Mar 3, 2025
Jan 26, 2025
Mar 10, 2025
Apr 9, 2017
Feb 28, 2023
Apr 26, 2019
Jun 21, 2024
Mar 28, 2020
Jul 14, 2024
Jan 20, 2019
Mar 13, 2023
Jul 19, 2019
May 22, 2023
Jan 2, 2019
Apr 9, 2017
Feb 1, 2025
Mar 18, 2020
Feb 20, 2024
Jul 20, 2020
Sep 13, 2018
Mar 13, 2023
Mar 13, 2023
Mar 13, 2023
Jan 25, 2024
Oct 15, 2024
Mar 9, 2025
Feb 24, 2024
Jan 17, 2024
Jan 11, 2021
Jul 6, 2024
Feb 20, 2024

Repository files navigation

Gitpay

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

Gitpay is an open-source platform that facilitates collaboration and rewards contributions by enabling users to complete issues for open-source projects.

Slack channel

We have a Slack channel where you can collaborate with other people who are using Gitpay and work together to find solutions. Feel free to join the community and hang out on Slack with us.

Join us on Slack

What is Gitpay?

Gitpay is an open-source platform that empowers collaboration and rewards contributions to open-source projects. With Gitpay, you can complete tasks from anywhere in the world with open collaboration and receive bounties for completing them. Likewise, companies can receive reports, fixes, and enhancements from developers and offer bounties for completing requirements.

Who is contributing?

This project has been made possible thanks to all the amazing people contributing their time and effort into making Gitpay better. You can also start contributing to the project and join the community by contributing to Gitpay on GitHub or join our team on GitHub first.

Join the Gitpay team on GitHub

Requirements

To contribute to Gitpay, you will need the following:

  • Node.js (currently at v17.3.0)
  • React with webpack

Running Tests

To run the tests, use the following commands:

npm run migrate-test (first time)

npm run test (to run the tests)

Setup Environment

To ensure full integration with the API services used by the platform, you will need the API keys. You should make a copy of your .env.example file and rename it to .env with the right credentials. Please let me know if you need any of these credentials to solve an 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

Important

  • Make sure to use Node v17 (you can use Node Version Manager (NVM) to manage and switch different Node versions)
  • Don't forget to run npm install on the root and front-end folders

Database

Install Postgres (Mac)

  1. Install by running the following command: brew install postgres
  2. Start the command service by running the following command: brew services start postgresql
  3. Create a postgres user by running the following command: createuser postgres -s
  4. Login into the Postgres cli with by running the following command: psql -U postgres
  5. Create a test database by typing the following command: create database gitpay_test;
  6. Create a dev database by running the following command: create database gitpay_dev;
  7. Run this command to exit: \q

Install PostgreSQL (Linux - Ubuntu)

  1. Install by running the following command: sudo apt install postgresql
  2. Start the command service by running the following command: sudo service postgresql start
  3. Create a postgres user by running the following command: createuser postgres -s
  4. Login into the Postgres cli with by running the following command: sudo -i -u postgres
  5. Access the Postgres prompt by running the following command: psql
  6. Make sure the Postgres user has the correct password by typing the following command: ALTER USER postgres WITH PASSWORD 'postgres';
  7. Create a test database by running the following command: CREATE DATABASE gitpay_test;
  8. Create a dev database by running the following command: CREATE DATABASE gitpay_dev;
  9. To finally exit, type the following command: \q

Install PostgreSQL (Windows)

  1. Download: access https://www.enterprisedb.com/downloads/postgres-postgresql-downloads and download the exe file for windows;
  2. Install: proceed the installation with the postgreSQL setup wizard; once it is requested to provide a password for the database superuser, type postgres.
  3. Login into postgres: psql -U postgres
  4. Make sure postgres user has the correct password: ALTER USER postgres WITH PASSWORD '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

For windows users:

  • install cross-env
  • run npm run seed:windows and npm run seed-test:windows

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

Activating user account locally

When you run your backend node server, the e-mail notifications will output in your console, so when setup a new user, you should look for the activation link:

 ----- email / subject ----
alexandre+contributor7@gitpay.me
Activate your account
 ----- end email ----
 ----- email content ----
[
  {
    type: 'text/html',
    value: '<p>Hi Contrib7,</p><p>Click <a href="[ACTIVATION LINK]">here</a> to activate your account.</p>\n' +
      '          \n' +
      '\n' +
      '<p>\n' +
      'Thanks, <br />\n' +
      'Gitpay Team\n' +
      '</p>\n' +
      '----------------------\n' +
      '\n' +
      '<p>\n' +
      'https://gitpay.me (Web) <br />\n' +
      'tarefas@gitpay.me (Email) <br />\n' +
      'Worknenjoy Inc.,\n' +
      '9450 SW Gemini Dr\n' +
      'PMB 72684\n' +
      'Beaverton, Oregon 97008-7105 US (Mail) <br />\n' +
      '</p>\n'
  }
]
 ----- end email content ----

You will find the activation link on the e-mail example, copy and paste in your browser to activate your user locally.

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: #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

License: CC BY-NC-ND 4.0

This project is licensed under the Attribution-NonCommercial-NoDerivatives 4.0 International license. Please review the license terms and conditions for details.

FOSSA Status