Project handbook
General project schedule
Researching technologies
All research results and discussions will be stored in the concepts
folder. All documents will be written in markdown - there are no other
formal restrictions.
Ticketing
Every task will be documented with a Git issue. The current status will be kept updated for the following states:
TODO
in progress
open for review
done
Branching
Every issue will get its own branch. A feature branch will be named after the following guideline:
feature/ISSUE<ISSUENUMBER>-<Featurename>
A bugfix branch will be named after the following guideline:
bug/ISSUE<ISSUENUMBER>-<Featurename>
The feature branches can freely be branched for testing purposes. These sub-branches can be merged back into to top-branch without any pull requests.
Crossbranching between feature branches is prohibited.
Every merge into the main
branch has to be accepted and reviewed
through a pull request. There should not be any rebase onto main
.
Working methods on the feature branches are open to developer.
Testing
All test logs are to be stored in the subdirectory test_logs
. Those
will not be published on GitHub. Upcoming issues should be documented
with Git issues with the following format:
Titel: error-code
error description
\```
stackstrace
\```
Unittest
Logs from unittests are to be stored in test_logs/unittests
. At the
end of the project all logs should be pushed to GitHub with one commit.
Unittests can be documented with their source code. The output has to be
logged and saved.
Manual tests
Manual tests are stored in test_logs/manual
. At the end the logs
should be commited like the unittest logs. These logs are formatted like
the following:
# Testname_Testdate
## Content
... What was tested? ...
## Test results
... Which errors occured, which functions worked? ...
Logging
Logging should work with the following levels:
info
trace
warn
Scrum
Sprint duration: 1 week Sprint-Meeting: weekly while the lecture