|
| 1 | +Contributing to IntroViews-Flutter |
| 2 | +========================== |
| 3 | +:+1::tada: First off, thanks for taking the time to contribute! :tada::+1: |
| 4 | +If you'd like to report a bug or join in the development |
| 5 | +of IntroViews-Flutter, then here are some notes on how to do that. |
| 6 | + |
| 7 | +## Contents |
| 8 | +* [Reporting bugs and opening issues](#reporting-bugs-and-opening-issues) |
| 9 | +* [Coding Guidelines](#coding-guidelines) |
| 10 | + * [Pull Requests](#pull-requests) |
| 11 | + * [MVP architecture](#mvp-architecture) |
| 12 | + * [Style Check](#style-check) |
| 13 | + * [Git Commit Messages](#git-commit-messages) |
| 14 | +* [MDG Chat Room](#mdg-chat-room) |
| 15 | +* [Security](#security) |
| 16 | + |
| 17 | +## Reporting bugs and opening issues |
| 18 | + |
| 19 | +If you'd like a report a bug or open an issue then please: |
| 20 | + |
| 21 | +**Check if there is an existing issue.** If there is then please add |
| 22 | + any more information that you have, or give it a 👍. |
| 23 | + |
| 24 | +When submitting an issue please describe the issue as clearly as possible, including how to |
| 25 | +reproduce the bug, which situations it appears in, what you expected to happen, and what actually happens. |
| 26 | +If you can include a screenshot for front end issues that is very helpful. |
| 27 | + |
| 28 | +## Coding Guidelines |
| 29 | + |
| 30 | +### Pull Requests |
| 31 | +We love pull requests, so be bold with them! Don't be afraid of going ahead |
| 32 | +and changing something, or adding a new feature. We're very happy to work with you |
| 33 | +to get your changes merged into IntroViews-Flutter. |
| 34 | + |
| 35 | +If you've got an idea for a change then please discuss it in the open first, |
| 36 | +either by opening an issue, or by joining us in our |
| 37 | +[MDG public chat room ](https://mdg.sdslabs.co/chat) or email me at [[email protected]](mailto:[email protected]). |
| 38 | + |
| 39 | +If you're looking for something to work on, have a look at the open issues in the repository [here](https://github.com/aagarwal1012/IntroViews-Flutter/issues). |
| 40 | + |
| 41 | +> We don't have a set format for Pull requests, but we expect you to list changes, bugs generated and other relevant things in PR message. |
| 42 | +
|
| 43 | +### MVP architecture |
| 44 | +IntroViews-Flutter is built keeping [MVP (model-view-presenter)](https://en.wikipedia.org/wiki/Model–view–presenter) architecture in mind, so any changes that are proposed to IntroViews-Flutter should follow MVP architecture. If you are confused regarding where a method should be, join us at [MDG public chat room](https://mdg.sdslabs.co/chat), we'll be happy to help. |
| 45 | + |
| 46 | +### Style Check |
| 47 | +IntroViews-Flutter uses `dartfmt` for performing style checks on the codebase, which helps us in maintaining the quality of the code. Please check that the code is properly formatted according to `dartfmt` and also resolve all the issues, if any, shown by `dart analyze` before making a pull request. **Pull Requests will only be merged once all the violations are resolved**. |
| 48 | + |
| 49 | +### Git Commit Messages |
| 50 | +* Use the present tense ("Add feature" not "Added feature") |
| 51 | +* Use the imperative mood ("Move cursor to..." not "Moves cursor to...") |
| 52 | +* Limit the first line to 72 characters or less |
| 53 | +* Reference issues and pull requests liberally |
| 54 | +* When only changing documentation, include `[ci skip]` in the commit description |
| 55 | +* Consider starting the commit message with an applicable emoji: |
| 56 | + * :art: `:art:` when improving the format/structure of the code |
| 57 | + * :racehorse: `:racehorse:` when improving performance |
| 58 | + * :non-potable_water: `:non-potable_water:` when plugging memory leaks |
| 59 | + * :memo: `:memo:` when writing docs |
| 60 | + * :bug: `:bug:` when fixing a bug |
| 61 | + * :fire: `:fire:` when removing code or files |
| 62 | + * :green_heart: `:green_heart:` when fixing the CI build |
| 63 | + * :white_check_mark: `:white_check_mark:` when adding tests |
| 64 | + * :lock: `:lock:` when dealing with security |
| 65 | + * :arrow_up: `:arrow_up:` when upgrading dependencies |
| 66 | + * :arrow_down: `:arrow_down:` when downgrading dependencies |
| 67 | + * :shirt: `:shirt:` when removing linter warnings |
| 68 | + |
| 69 | +## MDG Chat Room |
| 70 | + |
| 71 | +If you want to ask any questions in real-time, or get a feel for what's going on |
| 72 | +then please drop into our [MDG public chat room](https://mdg.sdslabs.co/chat). |
| 73 | +If no one is online then you can still leave a message that will hopefully get a reply |
| 74 | +when we return. |
| 75 | + |
| 76 | +## Security |
| 77 | + |
| 78 | +Please do not publish security vulnerabilities publicly until we've had a chance |
| 79 | +to address them. All security related issues/patches should be sent directly to |
| 80 | +[[email protected]](mailto:[email protected]) where we will attempt to address them quickly. If you're |
| 81 | +unsure whether something is a security issue or not, then please be cautious and contact us at [[email protected]](mailto:[email protected]) first. |
0 commit comments