Skip to content

Commit

Permalink
Merge pull request #13 from amosproj/feature/documentation-setup
Browse files Browse the repository at this point in the history
Added technology and Repository tools. Issue: #3.
  • Loading branch information
felix-zailskas authored Oct 25, 2023
2 parents d5f31a1 + c356893 commit 5dade6a
Show file tree
Hide file tree
Showing 11 changed files with 225 additions and 26 deletions.
23 changes: 16 additions & 7 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,10 @@
<!--
SPDX-License-Identifier: MIT
SPDX-FileCopyrightText: 2023
-->

---

name: Bug report
about: Create a report to help us improve
title: ''
Expand All @@ -12,6 +18,7 @@ A clear and concise description of what the bug is.

**To Reproduce**
Steps to reproduce the behavior:

1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
Expand All @@ -24,15 +31,17 @@ A clear and concise description of what you expected to happen.
If applicable, add screenshots to help explain your problem.

**Desktop (please complete the following information):**
- OS: [e.g. iOS]
- Browser [e.g. chrome, safari]
- Version [e.g. 22]

- OS: [e.g. iOS]
- Browser [e.g. chrome, safari]
- Version [e.g. 22]

**Smartphone (please complete the following information):**
- Device: [e.g. iPhone6]
- OS: [e.g. iOS8.1]
- Browser [e.g. stock browser, safari]
- Version [e.g. 22]

- Device: [e.g. iPhone6]
- OS: [e.g. iOS8.1]
- Browser [e.g. stock browser, safari]
- Version [e.g. 22]

**Additional context**
Add any other context about the problem here.
34 changes: 22 additions & 12 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,10 @@
<!--
SPDX-License-Identifier: MIT
SPDX-FileCopyrightText: 2023
-->

---

name: Feature request
about: Suggest new feature (using user story)
title: ''
Expand All @@ -8,24 +14,28 @@ assignees: ''
---

## User story

1. As a {}
2. I want / need {}
3. So that {}

## Acceptance criteria
* Criterion 1
* Criterion 2
* ...

- Criterion 1
- Criterion 2
- ...

## Definition of done (DoD)
* Added only after week 5
* The same for all features
* Here goes the project specific part

- Added only after week 5
- The same for all features
- Here goes the project specific part

## DoD general criteria
* Feature has been fully implemented
* Feature has been merged into the mainline
* All acceptance criteria were met
* Product owner approved features
* All tests are passing
* Developers agreed to release

- Feature has been fully implemented
- Feature has been merged into the mainline
- All acceptance criteria were met
- Product owner approved features
- All tests are passing
- Developers agreed to release
12 changes: 12 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
# SPDX-License-Identifier: MIT
# SPDX-FileCopyrightText: 2023 Felix Zailskas <[email protected]>

# Node
logs
npm-debug.log*
Expand All @@ -18,6 +21,10 @@ pids
# Python
*.pyc
__pycache__/
Pipfile.lock

# Jupyter Notebook
.ipynb_checkpoints

# vscode
.vscode/
Expand All @@ -34,3 +41,8 @@ bin/

# MacOS
.DS_Store
.AppleDouble
.LSOverride

# License
.reuse
34 changes: 34 additions & 0 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# SPDX-License-Identifier: MIT
# SPDX-FileCopyrightText: 2023 Felix Zailskas <[email protected]>

repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.5.0
hooks:
- id: check-yaml
- id: check-json
- id: end-of-file-fixer
- id: trailing-whitespace
- id: no-commit-to-branch
args: ["--branch", "main", "--branch", "dev"]

- repo: https://github.com/psf/black
rev: 23.10.1
hooks:
- id: black

- repo: https://github.com/pycqa/isort
rev: 5.12.0
hooks:
- id: isort
args: ["--profile", "black"]

- repo: https://github.com/pre-commit/mirrors-prettier
rev: v3.0.3
hooks:
- id: prettier

- repo: https://github.com/fsfe/reuse-tool
rev: v2.1.0
hooks:
- id: reuse
7 changes: 6 additions & 1 deletion Deliverables/README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,9 @@
Deliverables that are uploadable files (e.g. PDFs, your logo, but not your code) go here.
<!--
SPDX-License-Identifier: MIT
SPDX-FileCopyrightText: 2023
-->

Deliverables that are uploadable files (e.g. PDFs, your logo, but not your code) go here.

Please upload deliverables to a dedicated folder for the sprint they belong to.

Expand Down
2 changes: 2 additions & 0 deletions Deliverables/sprint-01/planning-document.pdf.license
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
SPDX-License-Identifier: MIT
SPDX-FileCopyrightText: 2023 Lucca Baumgärtner
2 changes: 2 additions & 0 deletions Deliverables/sprint-01/team-logo.png.license
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
SPDX-License-Identifier: MIT
SPDX-FileCopyrightText: 2023 Berkay Bozkurt <[email protected]>
5 changes: 5 additions & 0 deletions Documentation/README.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,7 @@
<!--
SPDX-License-Identifier: MIT
SPDX-FileCopyrightText: 2023
-->

Build, user, and technical documentation
Software architecture description
9 changes: 9 additions & 0 deletions LICENSES/MIT.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
MIT License

Copyright (c) <year> <copyright holders>

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
14 changes: 14 additions & 0 deletions Pipfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# SPDX-License-Identifier: MIT
# SPDX-FileCopyrightText: 2023 Felix Zailskas <[email protected]>

[[source]]
url = "https://pypi.python.org/simple"
verify_ssl = true
name = "pypi"

[dev-packages]

[packages]

[requires]
python_version = "3.10"
109 changes: 103 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,18 +1,115 @@
<!--
SPDX-License-Identifier: MIT
SPDX-FileCopyrightText: 2023 Felix Zailskas <[email protected]>
SPDX-FileCopyrightText: 2023 Berkay Bozkurt <[email protected]>
-->

# Sales-Lead-Qualifier Project (AMOS WS 2023/24)

## Sum Insight Logo

![Team logo in white colour](https://github.com/amosproj/amos2023ws06-sales-lead-qualifier/assets/45459787/7d38795e-6bd5-4003-9b23-29911532b0f8#gh-dark-mode-only)

![Team logo in black colour](https://github.com/amosproj/amos2023ws06-sales-lead-qualifier/assets/45459787/a7314df0-1917-4384-8f6c-2ab9f9831047#gh-light-mode-only)

## Creating the Environment

To create the virtual environment in this project you must have `pipenv` installed on your machine. Then run the following commands:

```[bash]
# for development environment
pipenv install --dev
# for production environment
pipenv install
```

To work within the environment you can now run:

```[bash]
# to activate the virtual environment
pipenv shell
# to run a single command
pipenv run <COMMAND>
```

To install new packages in the environment add them to the `Pipfile`. Always pin the exact package version to avoid package conflicts and unexpected side effects from package upgrades.

```[bash]
# to add a package to the development environment
[dev-packages]
<PACKAGE_NAME> = "==<VERSION_NUMBER>"
# to add a package to the production environment
[packages]
<PACKAGE_NAME> = "==<VERSION_NUMBER>"
```

## Branching Strategy
Note that this project runs under an MIT license and we only permit the use of non-copyleft-licensed packages. Please be aware of this when installing new packages and inform yourself before blindly installing.

When you have any issues with the environment contact `felix-zailskas`.

## Contribution Workflow

### Branching Strategy

**main**: It contains fully stable production code
* **dev**: It contains stable under-development code

* **epic**: It contains a module branch. Like high level of feature. For example, we have an authentication module then we can create a branch like "epic/authentication"

* **feature**: It contains specific features under the module. For example, under authentication, we have a feature called registration. Sample branch name: "feature/registration"
- **dev**: It contains stable under-development code

- **epic**: It contains a module branch. Like high level of feature. For example, we have an authentication module then we can create a branch like "epic/authentication"

- **feature**: It contains specific features under the module. For example, under authentication, we have a feature called registration. Sample branch name: "feature/registration"

- **bugfix**: It contains bug fixing during the testing phase and branch name start with the issue number for example "bugfix/3-validate-for-wrong-user-name"

### Commits and Pull Requests

The stable branches `main` and `dev` are protected against direct pushes. To commit code to these branches create a pull request (PR) describing the feature/bugfix that you are committing to the `dev` branch. This PR will then be reviewed by another SD from the project. Only after being approved by another SD a PR may be merged into the `dev` branch. Periodically the stable code on the `dev` branch will be merged into the `main` branch by creating a PR from `dev`. Hence, every feature that should be committed to the `main` branch must first run without issues on the `dev` branch for some time.

Before contributing to this repository make sure that you are identifiable in your git user settings. This way commits and PRs created by you can be identified and easily traced back.

```[bash]
git config --local user.name "Manu Musterperson"
git config --local user.email "[email protected]"
```

Any commit should always contain a commit message that references an issue created in the project. Also, always signoff on your commits for identification reasons.

```[bash]
git commit -m "Fixed issue #123" --signoff
```

When doing pair programming be sure to always have all SDs mentioned in the commit message. Each SD should be listed on a new line for clarity reasons.

```[bash]
git commit -a -m "Fixed problem #123
> Co-authored-by: Manu Musterperson <[email protected]>"
```

### License

This project is operated under an MIT license. Every file must contain the REUSE-compliant license and copyright declaration:

[REUSE documentation](https://reuse.software/faq/)

```[bash]
# SPDX-License-Identifier: MIT
# SPDX-FileCopyrightText: 2023
```

### Pre-Commit Hooks

This repository uses `pre-commit` hooks to ensure a consistent and clean file organization. Each registered hook will be executed when committing to the repository. To ensure that the hooks will be executed they need to be installed using the following command:

```[bash]
pre-commit install
```

The following things are done by hooks automatically:

* **bugfix**: It contains bug fixing during the testing phase and branch name start with the issue number for example "bugfix/3-validate-for-wrong-user-name"
- formatting of python files using black and isort
- formatting of other files using prettier
- syntax check of JSON and yaml files
- adding new line at the end of files
- removing trailing whitespaces
- prevent commits to `dev` and `main` branch
- check adherence to REUSE licensing format

0 comments on commit 5dade6a

Please sign in to comment.