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
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
cp .env.example .env
You need to run create the .env in order to run the project: Database
Install postgres
- install:
brew install postgres
(mac) - start the service:
brew services start postgresql
- create postgres user:
createuser postgres -s
- Login into postgres cli:
psql -U postgres
- Create test database:
create database gitpay_test;
- Create a dev database:
create database gitpay_dev;
- 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
- Create migration for first model (table
organizations
) - Create migration for second model (table
projects
) - Create migration for joint model (table
organizations_projects
) - Change in the model to
Project.belongsTo(models.Organization)
- Change in the second model to
Organization.hasMany(models.Project)
- Create migration for first model (table
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
- Docker Engine: https://docs.docker.com/install/linux/docker-ce/ubuntu/
- Docker Compose: https://docs.docker.com/compose/install/
Arch Linux / Manjaro / Antergos
Installing
- Docker and Docker Compose:
sudo pacman -S docker docker-compose
Running
Development environment
- Run
docker-compose up
Then you can access at http://localhost:8082
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
- Unnatii
- Prerna Verma
- I Gede Wicaksana
- Luísa Barros
- Caio Reis
- Shivam Latawa
- Md. Al Amin
- Siso
- Amrut
- Usman Sakirat Kehinde
- Qiwei
- Adam Ash
- Shawn Noruzi
- Ssentongo Alex
- Onamade Okikioluwa
- Basukinath Tiwari
- Paulo Henrique
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]