Skip to content

Commit bb72eae

Browse files
committed
Base directory structure
1 parent 88821c8 commit bb72eae

File tree

15 files changed

+791
-2
lines changed

15 files changed

+791
-2
lines changed

.github/CONTRIBUTING.md

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
# Contributing to the product
2+
3+
Contributions to this project are welcome. Please follow the procedures outlined below.
4+
5+
### Raising issues/tickets
6+
Please use the below templates when you want to:
7+
- Propose a new [feature](../../../issues/new?template=feature_request.md)
8+
- Report a [bug](../../../issues/new?template=bug_report.md)
9+
- Raise an [issue](../../..//issues)
10+
- Raise an [eda request](../../../issues/new?template=eda_request.md)
11+
- Open a new [user story](../../../issues/new?template=user_story.md)
12+
13+
Please ensure that the tickets have appropriate [labels](../../../labels) and [milestones](../../../milestones).
14+
15+
### Making a contribution by a team member
16+
- Create a new branch from `testing` and name it according to the ticket type and number. Example: `feature_58` or `bug_59`. Ensure to follow [branching guidelines](../docs/Branch.md).
17+
- Ensure to follow [SemVer](https://semver.org/) for versioning.
18+
- Ensure the [directory structure](../docs/Directory_structure.md) is followed.
19+
- Ensure that python codes follow [PEP 8](https://www.python.org/dev/peps/pep-0008/) standards.
20+
- Ensure that codes are properly documented in accordance to [PEP 257](https://www.python.org/dev/peps/pep-0257/) standards.
21+
- Ensure function annotations are followed in accordance to [PEP 484](https://www.python.org/dev/peps/pep-0484/)
22+
standards.
23+
- Ensure all python modules have a [Pylint](https://www.pylint.org/)
24+
rating of 10/10.
25+
- Ensure to profile your modules and move any bottlenecks to a low latency system/module.
26+
- Ensure to add unit tests with corner cases and achieve 100% code coverage.
27+
- Limit the use of third party libraries. If you do have to use them, ensure that it exists in production environment.
28+
- Follow [pull request](PULL_REQUEST_TEMPLATE.md) guidelines.
29+
30+
### Guidelines
31+
1. Be respectful. All contributions to the product are appreciated and we ask that you respect one another.
32+
2. Be responsible. You are responsible for your pull request submission.
33+
3. Give credit. Any submissions or contributions built on other work (including and not limited to research papers, open source projects, and public code) must be cited with original Author names or attached with information about the original source or work. People should be credited for the work they have done.
34+
35+
Return to [Home](/README.md)
Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
name: Bug Report
2+
description: File a bug report
3+
title: "[Bug]: "
4+
labels: ["bug", "tests"]
5+
assignees:
6+
- octocat
7+
body:
8+
- type: input
9+
id: contact
10+
attributes:
11+
label: Contact Details
12+
description: How can we get in touch with you if we need more information?
13+
placeholder: ex. email@example.com
14+
validations:
15+
required: false
16+
17+
- type: textarea
18+
id: bug-description
19+
attributes:
20+
label: Describe the bug
21+
placeholder: A clear and concise description of what the bug is.
22+
validations:
23+
required: true
24+
25+
- type: textarea
26+
id: bug-reproduce
27+
attributes:
28+
label: How can we reproduce the bug
29+
placeholder: |
30+
Steps to reproduce the behavior:
31+
1. Go to '...'
32+
2. Click on '....'
33+
3. Scroll down to '....'
34+
4. See error
35+
validations:
36+
required: true
37+
38+
- type: textarea
39+
id: expected
40+
attributes:
41+
label: Expected behavior
42+
placeholder: A clear and concise description of what you expected to happen.
43+
validations:
44+
required: true
45+
46+
- type: dropdown
47+
id: version
48+
attributes:
49+
label: Version
50+
description: What version of our product are you running?
51+
options:
52+
- v0.4.1 (Default)
53+
- v0.4.0
54+
validations:
55+
required: true
56+
57+
- type: textarea
58+
id: logs
59+
attributes:
60+
label: Relevant log output/screenshots
61+
description: Please copy and paste any relevant log output. This will be automatically formatted into code, so no need for backticks.
62+
render: shell
63+
64+
- type: textarea
65+
id: add-context
66+
attributes:
67+
label: Additional context
68+
placeholder: Add any other context about the bug report here.
69+
validations:
70+
required: false
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
name: EDA request
2+
description: Request an EDA request
3+
title: "[EDA]: "
4+
labels: ["eda"]
5+
assignees:
6+
- octocat
7+
body:
8+
- type: textarea
9+
id: description
10+
attributes:
11+
label: Describe the EDA request
12+
placeholder: A clear and concise description of the request.
13+
validations:
14+
required: true
15+
16+
- type: textarea
17+
id: expected
18+
attributes:
19+
label: Expected outcomes(s)
20+
placeholder: Describe expected analyses/outcomes.
21+
validations:
22+
required: true
23+
24+
- type: textarea
25+
id: add-context
26+
attributes:
27+
label: Additional context
28+
placeholder: Add any other context or screenshots about the EDA request here.
29+
validations:
30+
required: false
31+
32+
- type: markdown
33+
attributes:
34+
value: |
35+
36+
### NOTE: EDA branch(es) if at all created should not be merged into production/perennial branches i.e. (stable/testing/master)
Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
name: Feature request
2+
description: Request a feature addition
3+
title: "[Feature]: "
4+
labels: ["feature", "tests"]
5+
assignees:
6+
- octocat
7+
body:
8+
- type: textarea
9+
id: problem-statement
10+
attributes:
11+
label: Is your feature request related to a problem? Please describe.
12+
placeholder: A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
13+
validations:
14+
required: true
15+
16+
- type: textarea
17+
id: solution
18+
attributes:
19+
label: Describe the solution you'd like
20+
placeholder: A clear and concise description of what you want to happen.
21+
validations:
22+
required: true
23+
24+
- type: textarea
25+
id: input
26+
attributes:
27+
label: Expected input(s)
28+
placeholder: |
29+
input_01: int
30+
input_02: List[Union[int, float]]
31+
render: python
32+
validations:
33+
required: true
34+
35+
- type: textarea
36+
id: output
37+
attributes:
38+
label: Expected output(s)
39+
placeholder: |
40+
output_01: Dict[str, int]
41+
output_02: List[Union[int, float]]
42+
render: python
43+
validations:
44+
required: true
45+
46+
- type: textarea
47+
id: add-context
48+
attributes:
49+
label: Additional context
50+
placeholder: Add any other context or screenshots about the feature request here.
51+
validations:
52+
required: false
53+
54+
- type: textarea
55+
id: accept
56+
attributes:
57+
label: Acceptance criteria
58+
placeholder: |
59+
NOTE: Acceptance criteria should be measurable and should be based on maximum possible limit.
60+
61+
Example: If the acceptance criteria for an application is based on response time, specify the response time such that post which the application will not be adopted/used at all i.e. a deal breaker. Meaning if the acceptance criteria for response time is 1 minute, the end user will NOT use the application at all if the response time is more than 1 minute.
62+
validations:
63+
required: true
64+
65+
- type: dropdown
66+
id: version
67+
attributes:
68+
label: Version
69+
description: What version of our product are you running?
70+
options:
71+
- v0.4.1 (Default)
72+
- v0.4.0
73+
validations:
74+
required: true
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
name: Maintenance request
2+
description: Describe the technical debt or runtime updates
3+
title: "[Maintenance]: "
4+
labels: ["maintenance"]
5+
assignees:
6+
- octocat
7+
body:
8+
- type: textarea
9+
id: describe
10+
attributes:
11+
label: Describe the maintenance request
12+
placeholder: A clear and concise description of the request.
13+
validations:
14+
required: true
15+
16+
- type: textarea
17+
id: impact
18+
attributes:
19+
label: Current impact
20+
placeholder: Quantify the impact of not completing the request.
21+
validations:
22+
required: true
23+
24+
- type: dropdown
25+
id: version
26+
attributes:
27+
label: Version
28+
description: What version of our product are you running?
29+
options:
30+
- v0.4.1 (Default)
31+
- v0.4.0
32+
validations:
33+
required: true
34+
35+
- type: textarea
36+
id: add-context
37+
attributes:
38+
label: Additional context
39+
placeholder: Add any other context or screenshots about the maintenance request here.
40+
validations:
41+
required: false
Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
name: User story
2+
description: A valuable increment of functionality, testable by the users
3+
title: "[User story]: "
4+
labels: ["story"]
5+
assignees:
6+
- octocat
7+
body:
8+
- type: textarea
9+
id: story
10+
attributes:
11+
label: User story
12+
placeholder: As a ‹role/End user profile›, I'd like to ‹feature short description/Goal›, in order to ‹value it adds/Business value›.
13+
validations:
14+
required: true
15+
16+
- type: textarea
17+
id: user
18+
attributes:
19+
label: End user profile/persona
20+
placeholder: |
21+
- User persona 01: X team members
22+
- User persona 02: Y team members
23+
validations:
24+
required: true
25+
26+
- type: textarea
27+
id: goal
28+
attributes:
29+
label: Goals and objectives
30+
placeholder: |
31+
- Objective 01
32+
- Objective 02
33+
validations:
34+
required: true
35+
36+
- type: textarea
37+
id: value
38+
attributes:
39+
label: Business value
40+
placeholder: Illustrate the value proposition with business background.
41+
validations:
42+
required: true
43+
44+
- type: textarea
45+
id: impact
46+
attributes:
47+
label: Business impact
48+
placeholder: |
49+
Please provide an approximate dollar impact. The business impact may be any of the following:
50+
51+
- Incremental earnings or savings
52+
- Size of prize
53+
- Dollar loss if the application was not built (cost of business)
54+
validations:
55+
required: true
56+
57+
- type: textarea
58+
id: accept
59+
attributes:
60+
label: Acceptance criteria
61+
placeholder: |
62+
NOTE: Acceptance criteria should be measurable and should be based on maximum possible limit.
63+
64+
Example: If the acceptance criteria for an application is based on response time, specify the response time such that post which the application will not be adopted/used at all i.e. a deal breaker. Meaning if the acceptance criteria for response time is 1 minute, the end user will NOT use the application at all if the response time is more than 1 minute.
65+
validations:
66+
required: true
67+
68+
- type: input
69+
id: sponsor
70+
attributes:
71+
label: Business sponsor
72+
description: Please provide the name and email of business unit head of the end user(s).
73+
placeholder: ex. email@example.com
74+
validations:
75+
required: true
76+
77+
- type: textarea
78+
id: add-context
79+
attributes:
80+
label: Additional context
81+
placeholder: Add any other context or screenshots about the user story here.
82+
validations:
83+
required: false

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
## Description
2+
3+
Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.
4+
5+
### Tickets
6+
- Closes #1
7+
- Closes #2
8+
9+
### Type of change
10+
11+
Please select option(s) that are relevant.
12+
13+
- [ ] Bug fix (non-breaking change which fixes an issue)
14+
- [ ] New feature (non-breaking change which adds functionality)
15+
- [ ] Maintenance requests
16+
- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
17+
- [ ] This change requires a documentation update
18+
19+
## How Has This Been Tested?
20+
21+
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration
22+
23+
- [ ] Unit/Integration tests in the code
24+
- [ ] Code runs locally without any warnings/errors with test files
25+
26+
## Checklist:
27+
28+
- [ ] **New and existing unit tests pass** locally with my changes
29+
- [ ] I have added tests including corner cases that prove my fix is effective or that my feature works
30+
- [ ] I have [run tests](/bin/run_tests.sh) before committing
31+
- [ ] My code follows the contribution guidelines of this project
32+
- [ ] I have performed a self & peer review of my code
33+
- [ ] I have commented my code, particularly in hard-to-understand areas
34+
- [ ] I have made corresponding changes to the documentation
35+
- [ ] My changes generate no new warnings/errors
36+
- [ ] Any dependent changes have been merged and published in downstream modules
37+
- [ ] Left side is **NOT** `stable` branch. Example: Left side is `testing` branch
38+
- [ ] Right side is **YOUR** branch. Example: `feature_36`

0 commit comments

Comments
 (0)