Skip to content

Latest commit

 

History

History
131 lines (91 loc) · 6.76 KB

Contributor's-guide.md

File metadata and controls

131 lines (91 loc) · 6.76 KB

Welcome note

First of all, congratulations and a warm welcome to the contributors. This guide be the starting point for any contrubutor and will help the contributors to contribute to MOSIP.

Please go through the high level introduction about MOSIP architecture and components

How to begin your contribution?

Help is always welcome with MOSIP! Documentation can be simplified, code can be clarified, and test coverage can be improved.

If you want to get started on contributing, there are multiple ways to do so -

a) Contribute to code (fix bugs, implement new features, enhance features)

b) Contribute to improve specifications.

c) Suggest new features and feature enhancements.

d) Test MOSIP and log bugs.

e) Help us fix documentation errors.

f) Help spread the word on MOSIP among interested developers.

There are multiple repositories within the MOSIP organization. To contribute to (a) Code, take a look at the Open Issues that are not assigned to anyone and put a comment saying “I would like to take this up” along with your approach and design preferably with pseudo code. The issue shall be assigned to you after review. Alternatively, please join our developer mailing list and send an email there. The core contributors team will interact with you via Github Issue comments. You may work in the forked version of the repository and send pull requests via Github.

For (b) - (e), i.e. new bugs, specs, features or documentation improvements, please log Github Issues under the appropriate repository, or join and write in at our developer mailing list

If you wish to begin your contribution, following steps are helpful.

Register yourself

Please refer the User Registration guide<TODO> register yourself in the MOSIP community.

Contributor License Agreement(CLA)

Please refer the Contributor License Agreement guide<TODO> for the instructions to sign the CLA.

Code of conduct

Please go through the Code of Conduct before you begin the contribution.

Platform documentation

Check out our repositories and Platform Documentation

Feature driven development

The development methodology is Feature driven development

Roles

Following are the various roles in the MOSIP open source community,

  • DEVELOPER
    • The developers can be contributing the development code or automation test code or performance test code or documents.
  • REVIEWERS
    • The reviewer accepts and approves the pull requests from the developer, after the necessary checklists have been passed.
  • PRODUCT_MANAGER
    • The product manager decides which features goes in which version release.
  • DEVOPS
    • This team members has the necessary permissions to pull the code and run in the automation stream.

The roles and responsibilities can be found here<TODO>

Developers handbook

If you are a developer, please refer to the the Developer's Handbook<TODO>

Coding standards

Please go through the coding standards for, - Java coding standards<TODO> - Micro services developer guidelines<TODO> - Vert.x guidelines<TODO>

Git workflow

MOSIP uses Github workflow. Refer MOSIP github workflow for steps to take the code from MOSIP and contribute back.

How Requirement, Code, testing, documents, configuration and infra comes together?

This [link] gives a detailed description about how feature is completed from inception phase to completion phase.

How to setup your development environment?

As the contributor, if you decide to work on the following modules, the corresponding startup guide of be a great help.

Out of scope: This document doesn't cover Jenkins, Docker and Kubernetes. It is upto the user to choose any of the build automation or virtualization technlogies.

Quality metrics

Community

Getting in touch

If you have questions about the development process

Community Events

We actively organise online and in-person meetups and discussions. Keep an eye on this page for the latest.