Skip to content

Commit

Permalink
Add Contribution Guideline
Browse files Browse the repository at this point in the history
  • Loading branch information
joykangangi authored Sep 25, 2024
1 parent fdcbcf6 commit b47e463
Showing 1 changed file with 73 additions and 3 deletions.
76 changes: 73 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
[![](https://jitpack.io/v/jkuatdsc/form-builder.svg)](https://jitpack.io/#jkuatdsc/form-builder)


## Jetpack Compose FormBuilder

A customisable android library used to provide an abstraction layer over form elements as well as provide a DRY code
Expand All @@ -8,6 +9,13 @@ implementation of a form.
The library is used to help in the state management of a `Form` in Jetpack compose. Currently, we don't have an official
support for a form state so the library is used to provide a custom implementation of the same.

* [<a id="installs" href="#installs">Installation</a>](#installation)
* [<a id="basics" href="#basics">Basic Usage</a>](#basic-usage)
* [<a id="demos" href="#demos">Demos</a>](#demos)
* [<a id="links" href="#links">Further Reading</a>](#further-reading)
* [<a id="contribution" href="#contribution">Contribution Guideline</a>](#contribution-guideline)

<!-- TOC --><a name="installation"></a>
### <a id="installs" href="#installs">Installation</a>

In the root `build.gradle` file add the following:
Expand All @@ -26,6 +34,7 @@ dependencies {
}
```

<!-- TOC --><a name="basic-usage"></a>
### <a id="basics" href="#basics">Basic Usage</a>

The library provides a [`FormState`](/form-builder/src/main/java/com/dsc/form_builder/FormState.kt) class that
Expand Down Expand Up @@ -112,7 +121,8 @@ TextFieldState(
)
```

### Demos
<!-- TOC --><a name="demos"></a>
### <a id="demos" href="#demos">Demos</a>

**Demo 1** : In this demo, the validations are executed before the next screen is presented.

Expand All @@ -124,12 +134,72 @@ https://user-images.githubusercontent.com/47350130/204372977-e8b66f71-0b61-4d93-

You can find the sample apk [here](https://drive.google.com/file/d/1tMtDtJwuDZoQnxluiAPNC0dYs7aqXUjt/view?usp=sharing)

For more details about the library, check out the [references](https://jkuatdsc.github.io/form-builder/).

<!-- TOC --><a name="further-reading"></a>
### <a id="links" href="#links">Further Reading</a>

The links below provide a reinforced understanding to the library.
* [Form Builder Documentation](https://jkuatdsc.github.io/form-builder/).
* [Introduction to Form Builder basics](https://www.section.io/engineering-education/jetpack-compose-forms/)
* [Advanced Form Builder operations guide](https://www.section.io/engineering-education/making-jetpack-form-builder/)

<!-- TOC --><a name="contribution-guideline"></a>
### <a id="contribution" href="#contribution">Contribution Guideline</a>

We appreciate your interest in contributing to our project! To ensure a smooth and collaborative process, please follow these guidelines.

#### 1. Fork the Repository
- Begin by **forking** the repository to your GitHub account.
- **Clone** the forked repository to your local machine.

#### 2. Create a Feature Branch
- Create a new branch for your feature or bug fix. Branch names should follow this format:
```bash
feature/<feature-name>
fix/<bug-description>
```
#### 3. Make Changes and commit
- Make your changes on the feature branch.
- Keep your commits small, focused, and meaningful.

#### 4. Rebase with Develop Branch
- Before opening a pull request, rebase your feature branch with the latest `develop` branch
```bash
git checkout develop
git pull origin develop
git checkout <your-branch>
git rebase develop
```
#### 5. Create a Pull Request (PR)
- Once your feature branch is up to date with `develop`, create a pull request (PR) to merge into the `develop` branch.
- Ensure that the PR description includes:
- A summary of the changes.
- Any relevant issue references (e.g., "Closes #issue-number")
- Details about any potential impact on existing functionality.

#### 6. Code Review
- Wait for a code review from maintainers or team members. Address any feedback by making further changes and pushing them to the same feature branch.

#### 7. Merge into Develop
- After approval and successful tests, your PR will be merged into the `develop` branch.

#### 8. Merging to Main
- Once the changes in `develop` are stable, they will be merged into the `main` branch as part of a release cycle.

#### 9. Updating Documentation
- If your changes require updates to the documentation, ensure you update the relevant files or create new ones before submitting your PR.

#### 10. Best Practices
- Write tests for any new features or bug fixes.
- Follow the existing coding standards and style guides used in the project.
- Ensure that your changes pass any automated tests and that the project builds successfully.

#### 11. Contribution Etiquette
- Do not maliciously delete any library functionality, change the name or package of the library, or amend any library information unless there is a well-justified reason for doing so.
- Be respectful and collaborative when communicating with other contributors or maintainers.
- When submitting a PR, please ensure that your comments and descriptions are clear and concise.
- Avoid large, unrelated changes in a single commit. Keep your work focused on the task at hand

Your collaboration is key to the success of this project, and every contribution matters.
Thank you for being part of our journey!

MIT [Licence](LICENSE)

0 comments on commit b47e463

Please sign in to comment.