Contributing to Mongock project

🎉 First off, thanks for taking the time to contribute! 🎉

In this section we'll explain the type of contributions available, how to do it and the rewards plan!

# Getting started 🚀

💥 Visit our page of requested contributions to find out issues and which of them are rewarded!!

Contributions are made to this repo via issues, discussions and code contributions.

# Issues 🐛

For raising a new issue, please visit this link, fill the template and submit it. You will hear from us shortly!!

Contributor raising a valid issue(or solving it) will get listed in our contributor list

# Discussions 🔊

For general Q&As, ideas, comment on any release or anything you want to raise, but it's not an issue, please visit the discussion page.

Contributor starting a valid discussion(or participates in it) will get listed in our contributor list.

# Code contribution 💥

This type of contribution consists in actually getting involved in the Mongock's development. It's performed by raising a pull request for a given issue.

# Implementing a new driver

Providing a new driver is considered the highest level of external contribution. On top of being in our contributor page, this kind of contributions are often compensated with bounties.

If you are developing new driver, you either took an issue from our suggested drivers or you need one and decided to create it yourself. In any case, this needs to be notified to the Mongock team, so we ensure there are no conflicts with other contributors and the required repository and any other resources are created. For this, if there is already an issue created , please write a comment claim it and we'll answer asap. Otherwise, please email us to and will answer asap facilitating everything required for you start contributing.

To understand what is involved in a driver creation, please take a look to our driver example. The readme explains all the steps involved

Contributor providing a new valid driver will be rewarded and listed with special mention in our contributor list

# Pull requests

To perform a pull request, please follow these steps:

  1. Create an issue spotting the bug or change your PR will address
  2. Fork the develop branch
  3. Perform the pertinent change
  4. Add the required unit/integration tests
  5. Update the documentation accordingly in this project
  6. Raise a pull request for the documentation
  7. Raise a pull request for the actual change in the Mongock project, filling up the form you will find and providing the documentation pull request.
  8. We'll review both of them shortly and will let you know if any further change or explanation is required or we have everything we need to merge into develop branch

Contributor raising successful pul request will get listed with special mention in our contributor list.

# Rewards 💰💰

We really value those open-source enthusiasts that want to contribute to the software community, and specially those that help Mongock to get better. That's why we have set a rewarding plan to try to compensate the effort and obviously motivate them to be part of the Mongock's community.

# Issue rewarding

Submitting good issues that represent real problems(or enhancements) is very important in an open-source project, and requires time and effort. This is why contributors that raise a valid issue will be recognised and listed in our contributor list.

# Discussion rewarding

Similarly to issues, discussions are really helpful to improve the Mongock project. This area focuses less in fixing, but really helps us in getting new ideas or approaches. In the same way as issues, any contributor who starts(or participates in) a discussion will be recognised and listed in our contributor list.

# Code contribution rewarding

In this case the contributor not only gets listed into our contributor list, also obtains a special mention. For requested features we often provide bounties to motivate our community. Visit our list requested contributions and see if there is any with a bounty label, indicating the amount 😜

# New driver rewarding

This is a special case within the code contribution. You can check our suggested list of drivers, or suggest a different by contacting us here

# Bounty rewarding

Steps to work on a bounty-rewarded contribution

  1. Visit our list requested contributions
  2. Search for any issue with a bounty label (If you have thought in a feature that you believe it deserves a bounty, please contact the mongock team) If you are thinking in providing a new driver, it's very likely we'll provide a bounty for it.
  3. Once you have decided in which issue you want to work on(and making sure it's ont already assigned to any other contributor), make a comment in the ticket itself claiming you will be working on it and make yourself an assignee