Compare commits

..

28 Commits

Author SHA1 Message Date
Jona Walpert 3c9f19c5da Add: Game logo, placeholder abckground image 2026-03-11 13:13:42 +01:00
Lars Simon Winzer 0a57ac1a1e Merge branch 'chore/exclude-idea-folder' into 'main'
Exclude .idea folder in gitignore

See merge request cs108-fs26/Gruppe-13!9
2026-03-11 11:28:12 +01:00
Lars Simon Winzer a663286c0a Add: Exclude .idea folder 2026-03-11 11:27:14 +01:00
Lars Simon Winzer 3de3a2f113 Merge branch 'chore/task-to-convert-puml-to-svg' into 'main'
VSCode task to convert all .puml files to .svgs using helper script

See merge request cs108-fs26/Gruppe-13!8
2026-03-10 17:32:09 +01:00
Lars Simon Winzer bce3326a0b Add: VSCode task to export all puml files to svgs with helper script 2026-03-10 17:29:37 +01:00
Lars Simon Winzer 2183241e08 Add: Script to convert puml file to svg via plantuml 2026-03-10 17:28:31 +01:00
Lars Simon Winzer f6eb93ad16 Merge branch 'chore/restructure-docs-folder' into 'main'
Move diary and blog folder from docs to top of documents

See merge request cs108-fs26/Gruppe-13!7
2026-03-10 13:23:37 +01:00
Lars Simon Winzer 827ba59c7b Docs: Update repository structure in main README 2026-03-10 13:20:50 +01:00
Lars Simon Winzer b9878a9c33 Chore: Move 'diary' folder to top of 'documents' folder 2026-03-10 13:19:17 +01:00
Lars Simon Winzer d0ea56daa4 Chore: Move 'blog' folder to top of 'documents' folder 2026-03-10 13:18:50 +01:00
Lars Simon Winzer 4549fb4471 Merge branch 'chore/networking-blog' into 'main'
Scaffolding for future blogs

See merge request cs108-fs26/Gruppe-13!6
2026-03-10 13:04:19 +01:00
Lars Simon Winzer 86303f8b84 Docs: Delete '09-03-26_Networking' post 2026-03-10 12:53:38 +01:00
Lars Simon Winzer 2dd3ea2562 Docs: Delete documents related to '09-03-26_Network' post 2026-03-10 12:40:09 +01:00
Lars Simon Winzer 676e24e78d Add: Table of contents and 'The Language of the Network' section 2026-03-09 18:59:35 +01:00
Lars Simon Winzer d346ec4f97 Add: Blog to cover networking in its entirety 2026-03-09 18:30:08 +01:00
Lars Simon Winzer e85ae3f59f Merge branch 'main' into 'chore/networking-blog' 2026-03-09 18:23:14 +01:00
Lars Simon Winzer c4942aa714 Merge branch 'chore/task-to-convert-drawio-to-svg' into 'main'
Add bash script to mass-convert drawio files to svg

See merge request cs108-fs26/Gruppe-13!5
2026-03-09 18:13:37 +01:00
Lars Simon Winzer dc784050bf Style: Add comments and overall cleanup 2026-03-09 18:11:18 +01:00
Lars Simon Winzer 76c182313e Fix: Remove leftover variable in echo 2026-03-09 18:07:49 +01:00
Lars Simon Winzer 8579f15868 Add: 'Export drawio to SVG'-task, executable via vscode 2026-03-09 18:06:19 +01:00
Lars Simon Winzer bf6873cfd7 Add: Bash script for in-place converting all found .drawio files to svg's 2026-03-09 18:05:21 +01:00
Lars Simon Winzer 5f9a28e96c Merge branch 'chore/project-wide-vscode-folder' into 'main'
Remove .vscode folder from .gitignore and configure recommended extensions for this project

See merge request cs108-fs26/Gruppe-13!4
2026-03-09 18:02:37 +01:00
Lars Simon Winzer 64742d6aad Add: Recommended extensions for this workspace 2026-03-09 17:57:05 +01:00
Lars Simon Winzer 8e52ed21a5 Add: Remove .vscode folder from gitignore 2026-03-09 17:34:51 +01:00
Lars Simon Winzer e7b95098b2 Add: Draw.io document and exported image for the blog 2026-03-09 16:28:16 +01:00
Lars Simon Winzer d060697aa9 Add: Draw.io related files to .gitignore 2026-03-09 16:27:13 +01:00
Lars Simon Winzer ea8ac3831f Add: Subfolders in repository structure for diary and blog in main readme 2026-03-09 16:07:18 +01:00
Lars Simon Winzer b868f3289b Add: Readme explaining the purpose, format and links to existing blog posts 2026-03-09 15:38:44 +01:00
13 changed files with 207 additions and 2 deletions
+15 -2
View File
@@ -104,5 +104,18 @@ $RECYCLE.BIN/
## Jenv ## Jenv
.java-version .java-version
## VSCode ## diagrams.net / draw.io
.vscode # Draw.io temporary files
*.drawio.bkp
*.drawio.tmp
# Auto-save files
*.drawio.autosave
# Exported images (optional nur wenn du Exporte nicht versionieren willst)
*.drawio.png
*.drawio.svg
*.drawio.pdf
## IntelliJ
.idea
+7
View File
@@ -0,0 +1,7 @@
{
"recommendations": [
"vscjava.vscode-java-pack",
"mhutchie.git-graph",
"gitlab.gitlab-workflow",
]
}
+17
View File
@@ -0,0 +1,17 @@
{
"version": "2.0.0",
"tasks": [
{
"label": "Export drawio to SVG",
"type": "shell",
"command": "./scripts/export-drawio.sh",
"problemMatcher": []
},
{
"label": "Export puml to SVG",
"type": "shell",
"command": "./scripts/export-plantuml.sh",
"problemMatcher": []
}
]
}
+2
View File
@@ -35,6 +35,8 @@ This protocol handles game state synchronization, player actions, lobby and glob
│ └── test/ # Unit tests │ └── test/ # Unit tests
├── documents/ # Project resources and documentation ├── documents/ # Project resources and documentation
│ ├── images/ # Images for README and documentation │ ├── images/ # Images for README and documentation
│ ├── diary # Diary files for each organizational meetup
│ ├── blog # Blog files covering project-related topics
│ ├── docs # Documentation │ ├── docs # Documentation
│ ├── milestones/ # Milestone deliverables (6 milestones) │ ├── milestones/ # Milestone deliverables (6 milestones)
│ └── (Other resources) # Additional project materials │ └── (Other resources) # Additional project materials
+28
View File
@@ -0,0 +1,28 @@
# Blog
## Purpose
This folder contains a collection of blog posts documenting the development process of our application. These blogs serve two key purposes:
1. **For External Audiences**
The blogs provide insights into the internal program flow and the interaction between components without requiring readers to dive into the source code. They offer a mixed-level overview of how different parts of the system work together.
2. **For Our Team**
The blogs serve as a record of our decision-making process. By documenting what decisions were made and why, we can track the evolution of our design choices and understand the reasoning behind them. This is invaluable for maintaining consistency across the team.
But keep in mind that these blogs **do not replace** the detailed source code documentation.
## Format
All blog posts follow the naming convention: `<YYYY-MM-DD>_<Title>.md`
## Blog Posts
### General
*(No posts yet)*
### Client
*(No posts yet)*
### Server
*(No posts yet)*
+72
View File
@@ -0,0 +1,72 @@
#!/bin/bash
# Check for draw.io installation
DRAWIO_PATH=""
check_drawio_installed() {
if command -v drawio &>/dev/null; then
DRAWIO_PATH=$(command -v drawio)
return 0 # drawio via PATH
elif [[ -x "/Applications/draw.io.app/Contents/MacOS/draw.io" ]]; then
DRAWIO_PATH="/Applications/draw.io.app/Contents/MacOS/draw.io"
return 0 # For macOS check at default path
else
return 1 # not found
fi
}
if ! check_drawio_installed; then
echo "Error: 'drawio' was not found. Make sure, that the draw.io cli is installed."
echo "https://www.diagrams.net/"
exit 1
else
echo "Draw.io installation found at: $DRAWIO_PATH"
fi
# Compare source (draw.io document) and exported file svg on mtime
needs_export() {
local drawio_file="$1"
local svg_file="$2"
# If no file found, export
if [[ ! -f "$svg_file" ]]; then
return 0
fi
if [[ "$drawio_file" -nt "$svg_file" ]]; then
return 0
else
return 1
fi
}
# If (re-)export is necessary export with drawio cli
export_file() {
local drawio_file="$1"
local svg_file="${drawio_file%.drawio}.svg"
if needs_export "$drawio_file" "$svg_file"; then
echo "↻ Exporting: $drawio_file"
echo "$svg_file"
echo "$drawio_file"
"$DRAWIO_PATH" --export --format svg --transparent --output "$svg_file" "$drawio_file"
else
echo "✓ Up-to-date: $drawio_file"
fi
}
# Iterate over all .drawio files
main() {
# Source - https://stackoverflow.com/a/9612232
# Posted by Kevin, modified by community. See post 'Timeline' for change history
# Retrieved 2026-03-09, License - CC BY-SA 4.0
find . -name '*.drawio' -print0 |
while IFS= read -r -d '' line; do
export_file "$line"
done
echo "✓ Exported all files"
}
# Start script at entry point
main
+66
View File
@@ -0,0 +1,66 @@
#!/bin/bash
# Check for plantuml installation
PLANTUML_PATH=""
check_plantuml_installed() {
if command -v plantuml &>/dev/null; then
PLANTUML_PATH=$(command -v plantuml)
return 0 # plantuml via PATH
else
return 1 # not found
fi
}
if ! check_plantuml_installed; then
echo "Error: 'plantuml' was not found. Make sure, that plantuml is installed."
echo "https://plantuml.com/starting"
exit 1
else
echo "PlantUML installation found at: $PLANTUML_PATH"
fi
# Compare source (.puml document) and exported file svg on mtime
needs_export() {
local puml_file="$1"
local svg_file="$2"
# If no file found, export
if [[ ! -f "$svg_file" ]]; then
return 0
fi
if [[ "$puml_file" -nt "$svg_file" ]]; then
return 0
else
return 1
fi
}
# If (re-)export is necessary export with plantuml cli
export_file() {
local puml_file="$1"
local svg_file="${puml_file%.puml}.svg"
if needs_export "$puml_file" "$svg_file"; then
echo "↻ Exporting: $puml_file"
"$PLANTUML_PATH" -tsvg "$puml_file"
else
echo "✓ Up-to-date: $puml_file"
fi
}
# Iterate over all .puml files
main() {
# Source - https://stackoverflow.com/a/9612232
# Posted by Kevin, modified by community. See post 'Timeline' for change history
# Retrieved 2026-03-09, License - CC BY-SA 4.0
find . -name '*.puml' -print0 |
while IFS= read -r -d '' line; do
export_file "$line"
done
echo "✓ Exported all files"
}
# Start script at entry point
main
Binary file not shown.

After

Width:  |  Height:  |  Size: 4.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 194 KiB