If you are on this page it means you are almost ready to contribute proposing changes, fixing issues or anything else. So, thanks for your time !! 🎉👍 Any idea to help improving the Decathlon platform is really welcome, because it is your platform too !
Table of Contents generated with DocToc
This project and everyone participating in it is governed by this code of conduct. By participating, you are expected to uphold this code.
If you are not familiar with Git and GitHub terms you can check a complete glossary on the GitHub website.
NOTE: Please don't file an issue to simply ask a question. It will be faster if you will use any of the following channel.
- For anything related to the
project
RoadMap, opened issues, etc. you can directly check our Open Dashboard or subscribing to our internal Google+ community - If you want to ask a question, support to the team you can send a mail message
- If you prefer the live chatting join us on our Slack Channel (into the Decathlon Commerce Slack).
The first way to contribute to a project is simply reporting a Bug. If you find anything which is not working well or as expected you can open an Issue the my-project repository.
Before to open the issue please check if there is one similar already opened on our project board or the project
repository. It will save us hours of work and it will allow us to answer you quickly with the desired hotfix.
NOTE: if looking for existing issues you will find the same problem, or similar, in closed state, please refer to this issue (with it's number) when you are opening your one. It is maybe a regression we didn't see. In this way you will help to go faster and to find a definitive solution to the recurrent problem.
When you are opening an issue, please be sure to report as much information as you can to allow us to replicate the problem and faster find the solution. To help you on this task, the project
repository is providing Issues Templates:
- Bug Report
- Feature Request
- Custom
If you chose the Bug Report template there is some guideline helping you to fill up the issue. You don't have to provide all the information you will find on the template but, try to be your best.
If you think we can to better with the project
product and you have some good ideas, you can file an issue selecting the Feature Request template.
Even in this case please try to be as much clear as possible. The faster we can understand what you want or what you are proposing, the faster the implementation will be.
For any request suggestion, the project
product Owner and team is keeping the responsibility to take the final decision: we have a road map and a vision for the product that must remains generic.
If the requests are custom specific we will try to find a different way to help you, or, you can implement what you need in a PaymentServiceProvider plugin.
Any issue can be voted by the communities and project
follower and, even if we are thinking it is not a good idea to implement it, we can surely listen something which is appreciated by the many.
If you are a dev and you want to directly fix a problem or implement a new feature... you are the best one ! 👏👏 To propose any change you have to submit us a PullRequest
The workflow we are using the one-pay project is:
- Fork the
project
repository (as you don't have a direct write access to the main one. For the moment 😉 - Create your code,
Commit
andPush the code
on your forked repo - Create a GitHub
Pull Request
to our develop branch (which is the main one for the coming version).
We will take the time to review your code, make some comments or asking information if needed. But, as you took time to help us, we will take in serious consideration what you are proposing. To quickly have your code available on production, please take care and read our Contribution acceptance criteria
git add <files>
git commit -m "A commit message"
git push origin <my-branch-name>
When you open your pull request provide as much information as possible. You use the templates described into the reporting bug section.
- For an issue, describe what you are fixing with your pull request and how you had found the defect.
- If you are proposing an enhancement, describe what you are adding to the code (new function, performance enhancement, documentation update, changing an existing function, ...).
We love maintenable software and we are happy when some else than us is able to take the code, understand it and be able to change it. To reach this goal we fixed some rule in our team and we would love to go ahead in this way, even with the external contribution:
- Be sure your code compile: no syntax error, no missing library, ...
- Be sure to write a JUnit test covering almost all the code you wrote. 100% of code coverage is usless, we just need all the tests allowing to understand the possible cases about the input and excpected output.
- Add comments on the code if you want to explain better what is happening in the code. Please not stuffs like:
//The product Id
String productId;
- Add documentation for any API, if needed, or functional explaining what changed/added with your code.
- After you proposed the PullRequest, our CI/CD platform will execute all the steps defined in our delivery chain. If you will receive any mail or find any automatic comment on the Pull Request you opened, it means there is something which is not respecting the project defined code style or your broke any previously created test.
If you respect all these rules you will help us saving time and we will be able to check your pull request faster.