diff --git a/.gitignore b/.gitignore
index a1c2a23..9e7c379 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,23 +1,70 @@
-# Compiled class file
+# InelliJ IDEA files
+*.iml
+*.ipr
+*.ids
+*.iws
+.idea/
+
+# Eclipse files
+.project
+.metadata
+.classpath
+.settings/
+.loadpath
+bin/
+
+# Netbeans
+nbactions.xml
+
+# Visual Studio Code
+.vscode
+
+# Maven
+target/
+
+# gradle files
+.gradle
+build/
+
+# ignore logfiles
+*.log*
+
+# OS dependant files
+.DS_Store
+.Spotlight-V100
+.Trashes
+Thumbs.db
+Desktop.ini
+*~
+# Thumbnails
+._*
+
+# compiled files
+*.com
*.class
+*.dll
+*.exe
+*.o
+*.so
-# Log file
-*.log
-
-# BlueJ files
-*.ctxt
-
-# Mobile Tools for Java (J2ME)
-.mtj.tmp/
-
-# Package Files #
-*.jar
-*.war
-*.nar
-*.ear
-*.zip
-*.tar.gz
+# packages
+*.7z
+#*.jar
*.rar
+*.zip
+*.gz
+*.bzip
+*.xz
+*.lzma
+*~$*
-# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
-hs_err_pid*
+# package managment formats
+*.dmg
+*.xpi
+*.gem
+*.egg
+*.deb
+*.rpm
+
+# databases
+*.sqlite
diff --git a/client/doc/Classdiagram-client.drawio b/client/doc/Classdiagram-client.drawio
new file mode 100644
index 0000000..60f5299
--- /dev/null
+++ b/client/doc/Classdiagram-client.drawio
@@ -0,0 +1 @@
+7Vptc9o4EP41zNx9yI1fwCEfMSQ0Le2lgTS5+yawYqvIFpVFCPn1t7JlGyMgJgelJcxkBu969bbPo5V245rdDp+7HE2Cz8zDtGYZ3nPN7tQsyzTsJvxIzTzVOPWLVOFz4imjQtEnLzhrqbRT4uG4ZCgYo4JMysoRiyI8EiUd4pzNymaPjJZHnSAfa4r+CFFde088EaTapnVe6D9g4gfZyKaj1heizFitJA6Qx2YLKvuyZrc5YyJ9Cp/bmErnZX65v57f097Y6X78Gv9Ad+6nwZdvZ2lnV9s0yZfAcSTe3PXL+PHqw7f694fJzdXXmdFtDT+eqSbGE6JT5a82JXKUdMVinrkxnpGQoggk95FFoq/egBNcRIkfwfMI2mEOiifMBQEEWuqFYBPQjgJCvR6as6lcQyzQaJxJbsA4eYFuEYVXJijgNReKTJZTsujLlqA2QMtxDDY3mWPMXNVDsVA2I0YpmsRkmExYmoSI+yRymRAszDpi08jDnpJypBNBcDbOuSPbV4RDwSa9gZ8XyKjg6WIWYsHnYKLe5kxTW83M5FlBXNNRumCBtJkOqb3i513no93C3kKRDz4ohrOXhqtXHA4AKQ2HKOAeIYFd6cV4kYXwsLDSQpVwcwuemhpPa5abbFIS/QFwwkxafcFJ5Ncabq3R+RNkac+g12UqAxpigbYUP4q1pI0naASd9hKbTr3Q3Cp3SBWDto80IUxAPA9HCaEEEijlnGTRhJFIJP6S83PBq23jrwbMFB5ANgsZ/qQ5F20WAfdggXIcDISeYUnq0v6r61zcuM9f5+K8jPG2XFikXokE2yLuaIj3xdTbIjQZp9C0u9BkLoUm26kYK8zs/rBdbDKXYpPd/HVj0/l6phpfpuEQiHdsIahi1HEq0+xXiTpNDcsWzF5eMS3jM+Ljo0NyQ3QJREjV477wblgHxvtixb1iCWFKkqNFecNcGXZfgT8EIGV3Gd4DSYfOmalxwtY5Ya/An6IhpjcsJoIw2T9PbZd4cahNfN6sBuqGg+F/YWrqSc01BH7jEtBIjlrLGDApR5zJ3o5sR7/lerg1xs1DB2pTzwi6WJ64fRySCHEJ+ACNwdnHhu++IDXNnxiMr++6znByeXbrBp3Oj/G/D5/qgzNbwwp7Ps64DC4JmM8iRC8L7dL5Vdj0WBJjZYj9joWYqws7mgpWDuY48lqyzATikDJ5fZeqK0Kzsw/czOcPUgCAlPhP3hiEzvOiZWdeOjPlCha8X/1uHrMpH+FNO0DdOyEd8bHY4Nbmatg5pkiQp/LsNtzSbySFixt6o9ks3dDzDCHrIp2XarWHioB+7U5LV3fXGo1OGeL+M8SGscQHs2rGZm6IJ+szxEbjN6pe6WlFX3CM9VrGOzmc8s37+2SGpp4qtImYHx2CO00It8f54BmhpWcPELQFPgG9W6CrZon7A1rPICCllqe4ZbSZdwJ8x4CbRv3QiFt6CAefZF2fsN4d1vYbL2O7w9rWsNZAfu+VvTfg2qh4DdtXbc+qr4DVTWCFnOvotvH+gHQOHowbGpJ/T8VkKksMLVm968mtcEK0MqIXPzHkrq8zLW1Nh6aLTn/RUPpkBBA7vtKrX+P02VHFyo3GiKrFnMqVm3f51dFKRq/67+Dpq6P830qvUHGbYvS2VZ4N1FsTw0AsPtVMCVJ88Gpf/gc=
\ No newline at end of file
diff --git a/server/doc/Classdiagram-server.drawio b/server/doc/Classdiagram-server.drawio
new file mode 100644
index 0000000..8cda2d7
--- /dev/null
+++ b/server/doc/Classdiagram-server.drawio
@@ -0,0 +1 @@
+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
\ No newline at end of file