Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
175 commits
Select commit Hold shift + click to select a range
434b96a
Automatic release of teaching material.
HelgeCPH Jan 6, 2026
15cab4c
Add missing directory
HelgeCPH Jan 6, 2026
48eaa17
Automatic release of teaching material.
HelgeCPH Jan 21, 2026
be8d8df
Automatic release of teaching material.
HelgeCPH Jan 27, 2026
fe9faff
Automatic release of teaching material.
HelgeCPH Jan 27, 2026
1a79fd2
Remove BSc files
HelgeCPH Jan 27, 2026
8daf0bd
Automatic release of teaching material.
HelgeCPH Jan 30, 2026
13e7bfa
Automatic release of teaching material.
HelgeCPH Jan 30, 2026
cf085d2
added group name and our public repository
AntohaY Jan 30, 2026
ba47e97
Automatic release of teaching material.
HelgeCPH Feb 2, 2026
926066d
Clean up old image
HelgeCPH Feb 2, 2026
6c1402d
Added personal repo link
MudiLoodi Feb 4, 2026
2a1d293
Update repository details for group q
apoorvabuilds Feb 4, 2026
38f7bcb
Update group repository details for ZeroDownTime
Corby7 Feb 4, 2026
6102893
Added personal repo link
MudiLoodi Feb 4, 2026
97bbad1
Add group G info to repositories.py
marfavi Feb 4, 2026
ec1fb1f
docs: update group name (d) and URL of repositorires.py
Slug-Boi Feb 3, 2026
d6420fc
Update repositories.py
Gufhans Jan 30, 2026
006d776
Update repositories.py
Jacob-Sonne Jan 30, 2026
3f8fb86
Repository to repositories.py
alimacunha Jan 30, 2026
be94c17
Update repositories.py
TienCamLy Feb 3, 2026
afdf24a
Update repository details for group k
Casper2411 Feb 2, 2026
cb964cb
Moved our information to correct group item
AntohaY Feb 5, 2026
c4bb926
Automatic release of teaching material.
HelgeCPH Feb 6, 2026
21e2380
Add Group n
BenjaminSSL Feb 6, 2026
4eb13e1
Merge pull request #13 from BenjaminSSL/master
PatNei Feb 6, 2026
09849b5
Update group repository details for group I
Feb 12, 2026
4628e93
Merge pull request #14 from stegish/master
HelgeCPH Feb 13, 2026
d286593
Merge pull request #1 from AntohaY/group-update/group-a-pr
HelgeCPH Feb 13, 2026
4441e21
Automatic release of teaching material.
HelgeCPH Feb 13, 2026
49035d9
Update group repo URL to DevTroopers-ITU org
Feb 14, 2026
289b1d2
Merge pull request #16 from leosakharoff/master
PatNei Feb 17, 2026
87b981f
Update group b endpoints
AitingLee Feb 17, 2026
ac0283d
Fix URL and add knowledge from Excel sheet
HelgeCPH Feb 18, 2026
4af1407
Merge branch 'master' into master
AitingLee Feb 18, 2026
919095d
Update URLs in repositories.py
leosakharoff Feb 18, 2026
54558a1
Add group n endpoints
BenjaminSSL Feb 19, 2026
009b596
Fix URLs for group c in repositories.py
jskoven Feb 19, 2026
bdc167b
Update URLs in repositories.py for group f
Mie-Jonasson Feb 19, 2026
ea131b0
Update URLs in repositories.py for group K
Casper2411 Feb 19, 2026
aa375da
Add URLs for DevOpps group
Rasmus-Balthazar Feb 20, 2026
2e3df71
Merge pull request #25 from Rasmus-Balthazar/Add-group-g-(DevOpps)-to…
PatNei Feb 20, 2026
cc97bfe
Merge pull request #23 from Casper2411/group_URL
PatNei Feb 20, 2026
87c3379
Merge pull request #22 from Mie-Jonasson/master
PatNei Feb 20, 2026
7fbd704
Automatic release of teaching material.
HelgeCPH Feb 20, 2026
862ff38
Merge branch 'master' of github.com:itu-devops/MSc_lecture_notes
HelgeCPH Feb 20, 2026
5f09990
Merge pull request #19 from BenjaminSSL/master
PatNei Feb 20, 2026
9a7656e
Merge pull request #18 from leosakharoff/master
PatNei Feb 20, 2026
d981422
Apply suggestion from @PatNei
PatNei Feb 20, 2026
cc87cd1
Merge pull request #17 from AitingLee/master
PatNei Feb 20, 2026
b83d8cb
Apply suggestion from @PatNei
PatNei Feb 20, 2026
c50312f
Apply suggestion from @PatNei
PatNei Feb 20, 2026
c2594d8
Merge pull request #21 from jskoven/master
PatNei Feb 20, 2026
0fed0a2
Update repository for group o
BabetteB Feb 20, 2026
3136d10
Update URL port from 3000 to 5001 for group o
BabetteB Feb 20, 2026
33c535f
added IP address for group I
Feb 20, 2026
74f2107
update DevOpps URLs
marfavi Feb 21, 2026
8fd6af3
Update repositories.py
Jacob-Sonne Feb 25, 2026
a79dd36
Fixed our group letter from "a" to "p" and added urls
AntohaY Feb 25, 2026
3263aa5
Fix group id
HelgeCPH Feb 25, 2026
c0ca39e
Merge pull request #26 from stegish/master
HelgeCPH Feb 25, 2026
9f36ba7
Merge pull request #27 from marfavi/marfavi-patch-1
HelgeCPH Feb 25, 2026
2f91d53
Merge pull request #28 from Jacob-Sonne/master
HelgeCPH Feb 25, 2026
ee10bbb
Merge pull request #29 from AntohaY/feature/group-p-updates
HelgeCPH Feb 25, 2026
72e0b20
Fix URL
HelgeCPH Feb 25, 2026
b740e1a
Update URLs for ZeroDownTime project
Corby7 Feb 26, 2026
75ac839
Merge pull request #30 from Corby7/update-url
HelgeCPH Feb 27, 2026
0d8a828
Automatic release of teaching material.
HelgeCPH Feb 27, 2026
e665f96
docs: add group D url for minitwit
Slug-Boi Feb 27, 2026
b357407
Merge pull request #32 from Slug-Boi/master
PatNei Feb 27, 2026
09a3fad
fixed new ip address
AntohaY Feb 27, 2026
47e51ff
Merge pull request #33 from AntohaY/fix/new-ip-address-group-p
HelgeCPH Feb 27, 2026
87f5a7e
Fix ports to what I believe group c wanted to indicate
HelgeCPH Feb 28, 2026
f332f22
Automatic release of teaching material.
HelgeCPH Mar 6, 2026
e229ded
Removed link from repo
MudiLoodi Mar 9, 2026
9944918
Merge branch 'itu-devops:master' into master
MudiLoodi Mar 9, 2026
85676d6
Update monitoring URL to new address
Corby7 Mar 11, 2026
32e1d3c
Merge pull request #37 from Corby7/monitoring-url-group-a
HelgeCPH Mar 12, 2026
08c50fc
Merge pull request #35 from MudiLoodi/master
HelgeCPH Mar 12, 2026
2a6eab6
Update misc_urls.py
mekererenate-web Mar 12, 2026
9e04317
Merge pull request #38 from mekererenate-web/master
HelgeCPH Mar 13, 2026
beb75bd
Automatic release of teaching material.
HelgeCPH Mar 13, 2026
e96becc
Update misc_urls.py
mariamoller2 Mar 13, 2026
7f37485
Update misc_urls.py
mariamoller2 Mar 13, 2026
f92fce5
added a monitoring link of our project
AntohaY Mar 13, 2026
9790f9f
Change EC2 URLs for group 'o'
BabetteB Mar 15, 2026
6968c74
Update monitoring URL for group f in misc_urls.py
Mie-Jonasson Mar 15, 2026
11d70ab
Update group f name entry in misc_urls.py
Mie-Jonasson Mar 15, 2026
0137ef4
Update group k with new name and monitoring URL
Casper2411 Mar 14, 2026
7ff678e
add group b monitoring url
AitingLee Mar 13, 2026
de7e8f0
Updated group E misc_urls.py
mekererenate-web Mar 13, 2026
34713cc
Update group i URL Monitoring
sabotto1 Mar 12, 2026
df7d58d
Update misc_urls.py
Asger124 Mar 13, 2026
cc5d69c
added monitoring link to misc_urls.py (#41)
maltesp Mar 17, 2026
9c213fe
Update misc_urls.py
mariamoller2 Mar 20, 2026
3719e07
added lecture notes for session 08
mircealungu Mar 20, 2026
6c81b45
Fix formatting in README_EXERCISE.md
mircealungu Mar 20, 2026
3446069
Update instructions for checking user interfaces
mircealungu Mar 20, 2026
adf5547
update group b monitoring url
AitingLee Mar 20, 2026
7c2f7cf
chore: Add monitoring url for group d
August-Brandt Mar 20, 2026
2ab0f7e
some changes that i didn't make but are somehow staged
mircealungu Mar 23, 2026
97eb64d
Automatic release of teaching material.
mircealungu Mar 23, 2026
917a9ea
Automatic release of teaching material.
mircealungu Mar 23, 2026
aa72872
Automatic release of teaching material.
mircealungu Mar 23, 2026
c9ace7c
Automatic release of teaching material.
mircealungu Mar 23, 2026
10eaed6
Automatic release of teaching material.
mircealungu Mar 23, 2026
7ec48b8
Automatic release of teaching material.
mircealungu Mar 23, 2026
7cf94ac
Automatic release of teaching material.
mircealungu Mar 23, 2026
b931c42
Automatic release of teaching material.
mircealungu Mar 24, 2026
cfb4ce7
Merge branch 'master' into master
mariamoller2 Mar 24, 2026
1d3eefb
Automatic release of teaching material.
mircealungu Mar 25, 2026
b8f32ad
Automatic release of teaching material.
mircealungu Mar 25, 2026
f3a7e6c
Automatic release of teaching material.
mircealungu Mar 25, 2026
be456d5
Automatic release of teaching material.
mircealungu Mar 25, 2026
cda3b76
Automatic release of teaching material.
mircealungu Mar 25, 2026
1de700c
Automatic release of teaching material.
mircealungu Mar 25, 2026
587c0a5
Automatic release of teaching material.
mircealungu Mar 26, 2026
cc15e22
Update misc_urls.py
mariamoller2 Mar 26, 2026
ba2060e
Update repositories.py
mariamoller2 Mar 26, 2026
5614d52
Update misc_urls.py
mariamoller2 Mar 20, 2026
534fa93
Update misc_urls.py
mariamoller2 Mar 26, 2026
e3493d9
Update repositories.py
mariamoller2 Mar 26, 2026
8c5ed6d
Replace placeholder logging URL with actual URL
Corby7 Mar 26, 2026
0a3321c
Fix URLs by removing trailing slashes
BabetteB Mar 27, 2026
a6f5e7b
Automatic release of teaching material.
mircealungu Mar 27, 2026
40163ca
Automatic release of teaching material.
mircealungu Mar 27, 2026
7de6fb3
Automatic release of teaching material.
mircealungu Mar 27, 2026
0f09179
Automatic release of teaching material.
mircealungu Mar 27, 2026
b1e0606
Automatic release of teaching material.
mircealungu Mar 27, 2026
111146e
Automatic release of teaching material.
mircealungu Mar 27, 2026
e892981
url update group o now uses digital ocean.py
mariamoller2 Mar 28, 2026
d23e0dc
Update misc_urls.py
mariamoller2 Mar 28, 2026
98cd59f
Merge branch 'master' into master
mariamoller2 Mar 28, 2026
a1b8cf0
Automatic release of teaching material.
mircealungu Mar 30, 2026
69b9fb6
Automatic release of teaching material.
mircealungu Mar 30, 2026
d9c4cac
Automatic release of teaching material.
mircealungu Mar 31, 2026
571de7b
Automatic release of teaching material.
mircealungu Mar 31, 2026
5665e09
Merge pull request #57 from mariamoller2/master
mircealungu Apr 3, 2026
bcf4071
update of group b's domain
AitingLee Apr 9, 2026
6c7e8aa
Add logging URL and monitoring URL for group f 👾 (#56)
Mie-Jonasson Apr 13, 2026
30fa5c5
Automatic release of teaching material.
mircealungu Apr 17, 2026
00e3a7a
Automatic release of teaching material.
mircealungu Apr 17, 2026
02127f2
Automatic release of teaching material.
mircealungu Apr 17, 2026
ee5342e
Automatic release of teaching material.
mircealungu Apr 17, 2026
1ead610
Update misc_urls.py (#60)
Asger124 Apr 21, 2026
4b48910
updating group q's monitoring, logging and original domain (#61)
apoorvabuilds Apr 21, 2026
7797525
change group n (#62)
BenjaminSSL Apr 21, 2026
e766e84
Fix API URL for ZeroDownTime group (#64)
ymarymar Apr 22, 2026
00743a1
Automatic release of teaching material.
HelgeCPH Apr 23, 2026
e147a08
Updated URL for GROUP E
sebsthiel Apr 23, 2026
3fd0ee4
Update monitoring URL for Group E Dashboard
sebsthiel Apr 23, 2026
b9d4818
Merge pull request #65 from sebsthiel/master
TalhaAkgul Apr 24, 2026
5e70e53
replace grafana dasboard URL - group n (#66)
marekjoukl Apr 24, 2026
4962bed
Updated our address
AntohaY Apr 24, 2026
a7e9690
Automatic release of teaching material.
mircealungu Apr 24, 2026
17b7d58
Automatic release of teaching material.
mircealungu Apr 24, 2026
1eec568
Merge pull request #67 from AntohaY/master
TalhaAkgul Apr 24, 2026
abb95d4
Automatic release of teaching material.
mircealungu Apr 24, 2026
f2f03de
Automatic release of teaching material.
mircealungu Apr 24, 2026
c87f83b
Automatic release of teaching material.
mircealungu Apr 24, 2026
efe347e
Update group E urls to use DNS (#68)
sebsthiel Apr 25, 2026
f923ca1
Automatic release of teaching material.
HelgeCPH Apr 27, 2026
3b81688
Automatic release of teaching material.
HelgeCPH Apr 27, 2026
a21ec7e
Change URLs for group k to bigtwit.app (#71)
wowholasa Apr 30, 2026
a4f2168
Automatic release of teaching material.
HelgeCPH May 1, 2026
a95f07d
Automatic release of teaching material.
HelgeCPH May 1, 2026
28e2e96
Update URLs in group f to new domain
kparocki May 1, 2026
611b20e
Update repositories.py
mariamoller2 May 3, 2026
8740378
Update misc_urls.py
mariamoller2 May 3, 2026
31d8b41
Merge pull request #73 from mariamoller2/master
TalhaAkgul May 3, 2026
1cf29ac
Merge pull request #72 from kparocki/master
TalhaAkgul May 3, 2026
1b6f01c
Automatic release of teaching material.
HelgeCPH May 8, 2026
a47504a
updated misc urls (#75)
AntohaY May 8, 2026
334a6a2
Update group name and report release URLA
PeterJuulMoller May 18, 2026
4659d62
Merge pull request #1 from PeterJuulMoller/PeterJuulMoller-patch-1
PeterJuulMoller May 18, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
203 changes: 99 additions & 104 deletions README.adoc

Large diffs are not rendered by default.

205 changes: 205 additions & 0 deletions REPORT.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,205 @@
# The Report

As described on [LearnIT](https://learnit.itu.dk/local/coursebase/view.php?ciid=1896), the exam for this course is a _D22-type_ exam, i.e., submission of written work for groups with following oral exam.
The exam has an internal censor and the grade is Pass/Fail.


## Requirements

All of the following sections are requirements.
That is, you have to do something about each of them.

- [1.) Assure Information Correctness](#1-assure-information-correctness)
- [2.) Polish Project Repositories and Documentation](#2-polish-project-repositories-and-documentation)
- [2.1.) Create a `.mailmap` file in the root of your repositories](#21-create-a-mailmap-file-in-the-root-of-your-repositories)
- [2.2.) Update the main readme file](#22-update-the-main-readme-file)
- [3.) Write a Report](#3-write-a-report)
- [3.1.) Formal Requirements](#31-formal-requirements)
- [3.2) What to include in the report?](#32-what-to-include-in-the-report)
- [System's Perspective](#systems-perspective)
- [Process' perspective](#process-perspective)
- [Reflection Perspective](#reflection-perspective)
- [Use of Generative AI](#use-of-generative-ai)
- [3.3) How to hand-in?](#33-how-to-hand-in)

------------------------------------------------------------------------------------------------------------------------

### 1.) Assure Information Correctness

- Make sure that the [information about group members](https://ituniversity.sharepoint.com/:x:/r/sites/2026MScDevOpsSoftwareEvolutionandSoftwareMaintenance/Shared%20Documents/General/Groups.xlsx?d=w75f28a88ccae434ba16465ed310e9192&csf=1&web=1&e=B0Uqbp) is correct.
- Make sure that you correctly registered all relevant repositories and URLs in [`repositories.py`](https://github.com/itu-devops/MSc_lecture_notes/blob/master/repositories.py).
- Make sure that the URLs to your monitoring and logging dashboards are correct in [`misc_urls.py`](https://github.com/itu-devops/MSc_lecture_notes/blob/master/misc_urls.py).


### 2.) Polish Project Repositories and Documentation

#### 2.1.) Create a `.mailmap` file in the root of your repositories

[Git mailmap](https://git-scm.com/docs/gitmailmap) is a tool to map author's names or e-mail addresses to single proper values.

Likely, you worked on the project from various computers, all with different Git configurations.
That leads to a Git history in which single authors appear under various names with various email addresses in a `git log`.
You can double check the issue, e.g., by running `git shortlog -sne` in the root of your repository.
Likely, each of your group members appears more than once.
For example, after cloning group b's repository and printing commit frequencies per author, one would see the following output.
(Note, I only chose group b for illustration. The issue is the same for all groups in this course.)

```bash
git clone https://github.com/DevOps26-RE/DevOps26_RE_minitwit.git
cd minitwit_project/
git shortlog -sne
105 Aiting Lee <aile@itu.dk>
61 eliappo <237402327+eliappo@users.noreply.github.com>
45 jgaj <jgaj@itu.dk>
33 Aiting Lee <87257634+AitingLee@users.noreply.github.com>
20 alimacunha <amanda.lima.cunha@alumni.usp.br>
11 Johannes Hackl <johannes.hackl@live.com>
5 Jakub1996PL <45341106+Jakub1996PL@users.noreply.github.com>
3 Elias Poggi <237402327+eliappo@users.noreply.github.com>
3 JohannesHackl <johannes.hackl@live.com>
2 Aiting Lee <michelle723@gmail.com>
1 Elias Poggi <elias.illeris@pm.me>
1 Johannes Alexander Hackl <131956206+JohannesHackl@users.noreply.github.com>
1 JohannesHackl <131956206+JohannesHackl@users.noreply.github.com>
1 github-actions[bot] <github-actions[bot]@users.noreply.github.com>
```

For example, one can see that Elias appears as three different authors and Johannes as four.
That is a problem when attributing work to authors.
With a `.mailmap` file, you can "clean up" these different authors and map each of them to a proper author.
For example, to map all different "versions" of Elias to one proper author `Elias <elpo@itu.dk>` and all "versions" of Johannes to one proper author `Johannes <jhac@itu.dk>`, one could create the following `.mailmap` file:

```bash
echo "Elias <elpo@itu.dk> eliappo <237402327+eliappo@users.noreply.github.com>" >> .mailmap
echo "Elias <elpo@itu.dk> Elias Poggi <237402327+eliappo@users.noreply.github.com>" >> .mailmap
echo "Elias <elpo@itu.dk> Elias Poggi <elias.illeris@pm.me>" >> .mailmap
echo "Johannes <jhac@itu.dk> Johannes Hackl <johannes.hackl@live.com>" >> .mailmap
echo "Johannes <jhac@itu.dk> JohannesHackl <johannes.hackl@live.com>" >> .mailmap
echo "Johannes <jhac@itu.dk> Johannes Alexander Hackl <131956206+JohannesHackl@users.noreply.github.com>" >> .mailmap
echo "Johannes <jhac@itu.dk> JohannesHackl <131956206+JohannesHackl@users.noreply.github.com>" >> .mailmap
```

If in doubt about the `.mailmap` file syntax, read the [documentation](https://git-scm.com/docs/gitmailmap#_syntax).

To create a `.mailmap` file manually, you can list all authors and co-authors from the entire history of your repository and dump them to a draft `.mailmap` file as illustrated in the following script:

```bash
cd <your_repository>
git log --format='%an <%ae>' | sort | uniq > .mailmap
git log --format='%B' | grep "^Co-authored-by:" | cut -d" " -f2,3 | sort | uniq >> .mailmap
sort .mailmap -uo .mailmap
```

After doing that, you have to manually edit the automatically generated draft `.mailmap` file by adding a new first column with the proper author names and email addresses.
Please make sure that all proper authors (to be inserted first column) are of the form `Name <itu_id@itu.dk>`, e.g., `Elias <elpo@itu.dk>`, `Johannes <jhac@itu.dk>`, `Helge <ropf@itu.dk>`, `Mircea <mlun@itu.dk>` etc.

Note, in case you were/are using more than on repository, you have to create respective `.mailmap` files in each of them.

**OBS**: Since you added LLM tooling as co-authors, you have to map them in your `.mailmap` file too.
Please make the proper author of any LLM tool that you used and registered as co-author `LLM <none>`.
For example, for Group b's `.mailmap` file, it could be:

```bash
LLM <none> Gemini 3 Pro
```

#### 2.2.) Update the main readme file

Make sure that the main readme files in the root of your repositories are up-to-date and correct.
Likely, these are called `README.md`.
All information in there has to be correct.
They should contain a short description of the project, how to work with it, how to spin up a production system, how to contribute changes into a production, etc.

Check [here](https://www.makeareadme.com/#suggestions-for-a-good-readme) and [here](https://medium.com/@fulton_shaun/readme-rules-structure-style-and-pro-tips-faea5eb5d252) for recommendations on the structure and contents of readme files.


### 3.) Write a Report

The report to be handed in, is a document describing what you have done during the term in this course with regards to everything around your _ITU-MiniTwit_ systems.
Reports are written in some kind of markup language versioned in your repository.
They have to be handed-in in PDF format on WISEflow.

In the following, you find a description of all the practicalities concerning your report.


### 3.1.) Formal Requirements

Your final report should be maximum 2500 words long.
So, try to be brief and concise, but be sure to include all necessary information listed below.
Note, images do not count as words.

Your main project repository shall contain a directory called `report` containing either a single large or a set of linked files containing the sources of your report in markup languages, such as, ASCIIDOC, MarkDown, or LaTeX files.
All images appearing in the report should be collected in a directory called `images`, a sub-directory of `report`.

You convert your report sources to a PDF file via a build step in your CI chain.
For example, in case of ASCIIDOC, you may want to convert your report with [Asciidoctor](https://asciidoctor.org/docs/asciidoctor-pdf/) or [Pandoc](https://pandoc.org/).
In case of LaTeX, you may want to use a GitHub Action like [`xu-cheng/latex-action@v3`](https://github.com/marketplace/actions/github-action-for-latex).
The report has to be build as a single PDF file and has to be stored in directory `report/build`.
The naming convention for the PDF file is (as regular expression): `MSc_group_[a-z]\.pdf`.
That is, valid file names are, e.g., `MSc_group_a.pdf`, `MSc_group_e.pdf`, etc.

Make sure that you link all artifacts that you consider constitutional to your projects together with short descriptions of the linked artifacts from your reports, i.e., link all necessary repositories, issue trackers, monitoring/logging systems, etc.

Note, in case you are writing your report with LaTeX, you might want to write it avoiding Overleaf.
Instead, for local writing, install a LaTex compiler with respective tools and edit LaTeX sources with a text editor of your choice.
On Debian derived Linuxes, you can install the required tools via `sudo apt get install texlive`, for other systems check the [documentation](https://tug.org/texlive/quickinstall.html).
In case you need a collaborative editor, configure your text editor accordingly, see e.g., VSCode [Live Share](https://marketplace.visualstudio.com/items?itemName=MS-vsliveshare.vsliveshare) or [Coedit](https://learn.microsoft.com/en-us/visualstudio/liveshare/use/coedit-follow-focus-visual-studio-code).
That is, treat the sources of your report just like any other source code.


### 3.2) What to include in the report?

#### System's Perspective

A description and illustration of the:

- Design and architecture of your _ITU-MiniTwit_ systems.
- All dependencies of your _ITU-MiniTwit_ systems on all levels of abstraction and development stages. That is, list and briefly describe all technologies and tools you applied and depend on.
- Describe the current state of your systems, for example using results of static analysis and quality assessments.


#### Process' perspective

This perspective should clarify how code or other artifacts come from idea into the running system and everything that happens on the way.

In particular, the following descriptions should be included:

- A complete description and illustration of stages and tools included in the CI/CD pipelines, including deployment and release of your systems.
- How do you monitor your systems and what precisely do you monitor?
- What do you log in your systems and how do you aggregate logs?
- Brief description of how you security hardened your systems.
- How do you handle availability and scaling in your systems?


#### Reflection Perspective

Describe the biggest issues, how you solved them, and which are major lessons learned with regards to:

- evolution and refactoring
- operation, and
- maintenance

of your _ITU-MiniTwit_ systems.
Link back to respective commit messages, issues, tickets, etc. to illustrate these.

Also reflect and describe what was the "DevOps" style of your work.
For example, what did you do differently to previous development projects and how did it work?


#### Use of Generative AI

ITU's rules on the use of generative AI apply for this report too.
They are described [here](https://itustudent.itu.dk/Study%20Administration/Generative%20AI#Guidelines) and [in detail here](https://itustudent.itu.dk/-/media/ITU-Student/Study-Administration/GAI/Generative-AI-guidelines-for-students-Spring-2026-pdf.pdf).
Please follow them.
For your report that means that you have to state which generative AI tools have been used for which task(s) in your projects.
Additionally, describe _how_ generative AI tools have been used and briefly reflect and discuss how they supported or hindered your work process.


### 3.3) How to hand-in?

Send a pull request to the final release of your _ITU-MiniTwit_, which includes your complete report in source form and built PDF too, to the file [`final_report_urls.py`](https://github.com/itu-devops/MSc_lecture_notes/blob/master/final_report_urls.py) in https://github.com/itu-devops/MSc_lecture_notes.

**Additionally**, submit the PDF with your report via LeanIT/WISEflow _before_ Monday *18/5/2026 14:00*.
You will find the link to the WISEflow hand-in on LearnIT.
The naming convention for the PDF file that is handed in via WISEflow is the same as above, i.e., `MSc_group_[a-z]\.pdf` (as regular expression).
That is, valid file names are, e.g., `MSc_group_a.pdf`, `MSc_group_e.pdf`, etc.
42 changes: 42 additions & 0 deletions exam_details.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
# Exam Details

## Temporal Organization of the Exam

| | 2 pers.| 3 pers.| 4 pers.| 5 pers.| 6 pers.|
|------------------------|---------|---------|---------|-----------|-----------|
| Presentation | 8min | 10min | 12min | 15min | 18min |
| Questions & Discussion | 17min | 28min | 38min | 50min | 62min |
| Feedback and Grading | 5min | 7min | 10min | 10min | 10min |
|________________________|_________|_________|_________|___________|___________|
| **Total** | 30min | 45min | 1h | 1:15h | 1:30h |


## Presentation?

You decide what you want to present in the _Presentation_ block.
Likely, it is a good idea to focus on the highlights of your projects/reports with regards to the gives perspectives (system, process, reflection).

If you realize that you described something wrongly in your reports or that you were missing to provide some information there, you might want to present "fixes" for that too.

Of course we read your reports prior to the exams.
That is, you can assume for your presentations that we are reasonably versed in your project.

Make sure that every group member takes part in the presentation.


## Questions & Discussion?

Our questions and discussions will be based on your reports and thereby on your projects.
For example, we will ask something like in the following:

There will not be any predefined set of questions.
Instead the questions will be based on your submitted work and thereby on your projects.
For example, we will ask something like in the following:

- "In your report you describe that you deploy manually to production once per month. Please explain to which degree and why that is a good decision in a DevOps project."
- "You describe that you decided to implement your project in QBasic on DOS 5 as operating system. Please provide a rationale for that decision. Can you explain the impact of that decision on maintainability of your system?"
- "You describe that your group was organized around a single _'wizard'_ that implemented everything and the other team members took care of organizational issues around implementation. Why did you choose such an organization? How could you organize work so that further maintenance and refactoring tasks are doable once the _'wizard'_ gets sick? What would a DevOps advocate say about your team organization?"
- "You explain that you deploy your software in Docker containers. What is the reason for that?

All of your team members will be in the exam room at once and we will make sure to distribute questions equally.
Likely, we will jump from person to person per question.
6 changes: 3 additions & 3 deletions final_report_urls.py
Original file line number Diff line number Diff line change
Expand Up @@ -97,8 +97,8 @@
],
[
"group q",
"<name>",
"DevTroopers",
# Report Release URL:
"https://github.com/<gh_id>/<proj_id>/archive/refs/tags/<version_tag>.zip",
"https://github.com/DevTroopers-ITU/itu-minitwit/archive/refs/tags/2.0.zip",
],
]
]
62 changes: 35 additions & 27 deletions misc_urls.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,49 +3,49 @@
"group a",
"<name>",
# Monitoring URL:
"<monitoring_url>",
"https://zerodt.live/grafana/",
# Logging URL:
"<logging_url>",
"https://zerodt.live/grafana/",
],
[
"group b",
"<name>",
"catch(RuntimeException){goto f;}",
# Monitoring URL:
"<monitoring_url>",
"http://164.92.186.201:5001/grafana",
# Logging URL:
"<logging_url>",
],
[
"group c",
"<name>",
"group c",
# Monitoring URL:
"<monitoring_url>",
"161.35.68.148:3000",
# Logging URL:
"<logging_url>",
"http://161.35.68.148:3000/d/38f35159-ba68-4157-b0dd-bcd053bafabd/http-logs-for-web-application?orgId=1&from=now-1h&to=now&timezone=browser",
],
[
"group d",
"<name>",
"Dense Dino Nuggets",
# Monitoring URL:
"<monitoring_url>",
"http://64.226.82.73:3000",
# Logging URL:
"<logging_url>",
],
[
"group e",
"<name>",
"Group E Dashboard Minitwit",
# Monitoring URL:
"<monitoring_url>",
"https://minitwit-devops.tech/grafana",
# Logging URL:
"<logging_url>",
"https://minitwit-devops.tech/grafana",
],
[
"group f",
"<name>",
"if time > 16 {beer++;}",
# Monitoring URL:
"<monitoring_url>",
"http://209.38.255.154:3000/d/ad8crlm/monitoring-prod",
# Logging URL:
"<logging_url>",
"http://209.38.255.154:3000/d/adg2x7j/logging-prod",
],
[
"group g",
Expand All @@ -65,9 +65,9 @@
],
[
"group i",
"<name>",
"I Terroni",
# Monitoring URL:
"<monitoring_url>",
"http://164.92.231.30:3000/",
# Logging URL:
"<logging_url>",
],
Expand All @@ -81,9 +81,9 @@
],
[
"group k",
"<name>",
"Pat Myaz",
# Monitoring URL:
"<monitoring_url>",
"http://209.38.114.224:3000/dashboards",
# Logging URL:
"<logging_url>",
],
Expand Down Expand Up @@ -115,24 +115,32 @@
"group n",
"<name>",
# Monitoring URL:
"<monitoring_url>",
"http://91.99.213.62:3001/public-dashboards/d260d937ad1048b2a343ef3a1c25d3e5",
# Logging URL:
"<logging_url>",
],
[
"group o",
"<name>",
"Rollback and relax",
# Monitoring URL:
"<monitoring_url>",
"https://grafana.rollbackandrelax.dk/dashboards",
# Logging URL:
"<logging_url>",
"https://grafana.rollbackandrelax.dk/dashboards",
],
[
"group p",
"<name>",
"EastTOps",
# Monitoring URL:
"<monitoring_url>",
"https://itu-minitwit.me/grafana/dashboards",
# Logging URL:
"<logging_url>",
"https://itu-minitwit.me/grafana/d/he869gg/logs?orgId=1&from=now-15m&to=now&timezone=browser",
],
[
"group q",
"DevTroopers",
# Monitoring URL:
"https://grafana.devtroopersminitwit.codes/",
# Logging URL:
"https://grafana.devtroopersminitwit.codes/",
]
]
]
Loading