diff --git a/package-lock.json b/package-lock.json
index 6876043a133b864a5f6de14fb4a308fb867d0866..43ae94ac0c5d820fd6a680061fe067d323cf2979 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -10,11 +10,11 @@
 			"license": "ISC",
 			"dependencies": {
 				"express": "^4.19.2",
-				"websocket": "^1.0.35",
 				"ws": "^8.18.0"
 			},
 			"devDependencies": {
-				"jest": "^29.7.0"
+				"jest": "^29.7.0",
+				"prettier": "^3.3.3"
 			}
 		},
 		"node_modules/@ampproject/remapping": {
@@ -1403,6 +1403,8 @@
 			"integrity": "sha512-4T53u4PdgsXqKaIctwF8ifXlRTTmEPJ8iEPWFdGZvcf7sbwYo6FKFEX9eNNAnzFZ7EzJAQ3CJeOtCRA4rDp7Pw==",
 			"hasInstallScript": true,
 			"license": "MIT",
+			"optional": true,
+			"peer": true,
 			"dependencies": {
 				"node-gyp-build": "^4.3.0"
 			},
@@ -1653,19 +1655,6 @@
 				"node": ">= 8"
 			}
 		},
-		"node_modules/d": {
-			"version": "1.0.2",
-			"resolved": "https://registry.npmjs.org/d/-/d-1.0.2.tgz",
-			"integrity": "sha512-MOqHvMWF9/9MX6nza0KgvFH4HpMU0EF5uUDXqX/BtxtU8NfB0QzRtJ8Oe/6SuS4kbhyzVJwjd97EA4PKrzJ8bw==",
-			"license": "ISC",
-			"dependencies": {
-				"es5-ext": "^0.10.64",
-				"type": "^2.7.2"
-			},
-			"engines": {
-				"node": ">=0.12"
-			}
-		},
 		"node_modules/debug": {
 			"version": "2.6.9",
 			"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
@@ -1821,46 +1810,6 @@
 				"node": ">= 0.4"
 			}
 		},
-		"node_modules/es5-ext": {
-			"version": "0.10.64",
-			"resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.64.tgz",
-			"integrity": "sha512-p2snDhiLaXe6dahss1LddxqEm+SkuDvV8dnIQG0MWjyHpcMNfXKPE+/Cc0y+PhxJX3A4xGNeFCj5oc0BUh6deg==",
-			"hasInstallScript": true,
-			"license": "ISC",
-			"dependencies": {
-				"es6-iterator": "^2.0.3",
-				"es6-symbol": "^3.1.3",
-				"esniff": "^2.0.1",
-				"next-tick": "^1.1.0"
-			},
-			"engines": {
-				"node": ">=0.10"
-			}
-		},
-		"node_modules/es6-iterator": {
-			"version": "2.0.3",
-			"resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz",
-			"integrity": "sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==",
-			"license": "MIT",
-			"dependencies": {
-				"d": "1",
-				"es5-ext": "^0.10.35",
-				"es6-symbol": "^3.1.1"
-			}
-		},
-		"node_modules/es6-symbol": {
-			"version": "3.1.4",
-			"resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.4.tgz",
-			"integrity": "sha512-U9bFFjX8tFiATgtkJ1zg25+KviIXpgRvRHS8sau3GfhVzThRQrOeksPeT0BWW2MNZs1OEWJ1DPXOQMn0KKRkvg==",
-			"license": "ISC",
-			"dependencies": {
-				"d": "^1.0.2",
-				"ext": "^1.7.0"
-			},
-			"engines": {
-				"node": ">=0.12"
-			}
-		},
 		"node_modules/escalade": {
 			"version": "3.1.2",
 			"resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz",
@@ -1885,21 +1834,6 @@
 				"node": ">=8"
 			}
 		},
-		"node_modules/esniff": {
-			"version": "2.0.1",
-			"resolved": "https://registry.npmjs.org/esniff/-/esniff-2.0.1.tgz",
-			"integrity": "sha512-kTUIGKQ/mDPFoJ0oVfcmyJn4iBDRptjNVIzwIFR7tqWXdVI9xfA2RMwY/gbSpJG3lkdWNEjLap/NqVHZiJsdfg==",
-			"license": "ISC",
-			"dependencies": {
-				"d": "^1.0.1",
-				"es5-ext": "^0.10.62",
-				"event-emitter": "^0.3.5",
-				"type": "^2.7.2"
-			},
-			"engines": {
-				"node": ">=0.10"
-			}
-		},
 		"node_modules/esprima": {
 			"version": "4.0.1",
 			"resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
@@ -1922,16 +1856,6 @@
 				"node": ">= 0.6"
 			}
 		},
-		"node_modules/event-emitter": {
-			"version": "0.3.5",
-			"resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz",
-			"integrity": "sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==",
-			"license": "MIT",
-			"dependencies": {
-				"d": "1",
-				"es5-ext": "~0.10.14"
-			}
-		},
 		"node_modules/execa": {
 			"version": "5.1.1",
 			"resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz",
@@ -2022,15 +1946,6 @@
 				"node": ">= 0.10.0"
 			}
 		},
-		"node_modules/ext": {
-			"version": "1.7.0",
-			"resolved": "https://registry.npmjs.org/ext/-/ext-1.7.0.tgz",
-			"integrity": "sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==",
-			"license": "ISC",
-			"dependencies": {
-				"type": "^2.7.2"
-			}
-		},
 		"node_modules/fast-json-stable-stringify": {
 			"version": "2.1.0",
 			"resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
@@ -2439,12 +2354,6 @@
 				"url": "https://github.com/sponsors/sindresorhus"
 			}
 		},
-		"node_modules/is-typedarray": {
-			"version": "1.0.0",
-			"resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
-			"integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==",
-			"license": "MIT"
-		},
 		"node_modules/isexe": {
 			"version": "2.0.0",
 			"resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
@@ -3367,17 +3276,13 @@
 				"node": ">= 0.6"
 			}
 		},
-		"node_modules/next-tick": {
-			"version": "1.1.0",
-			"resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz",
-			"integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==",
-			"license": "ISC"
-		},
 		"node_modules/node-gyp-build": {
 			"version": "4.8.1",
 			"resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.8.1.tgz",
 			"integrity": "sha512-OSs33Z9yWr148JZcbZd5WiAXhh/n9z8TxQcdMhIOlpN9AhWpLfvVFO73+m77bBABQMaY9XSvIa+qk0jlI7Gcaw==",
 			"license": "MIT",
+			"optional": true,
+			"peer": true,
 			"bin": {
 				"node-gyp-build": "bin.js",
 				"node-gyp-build-optional": "optional.js",
@@ -3621,6 +3526,22 @@
 				"node": ">=8"
 			}
 		},
+		"node_modules/prettier": {
+			"version": "3.3.3",
+			"resolved": "https://registry.npmjs.org/prettier/-/prettier-3.3.3.tgz",
+			"integrity": "sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew==",
+			"dev": true,
+			"license": "MIT",
+			"bin": {
+				"prettier": "bin/prettier.cjs"
+			},
+			"engines": {
+				"node": ">=14"
+			},
+			"funding": {
+				"url": "https://github.com/prettier/prettier?sponsor=1"
+			}
+		},
 		"node_modules/pretty-format": {
 			"version": "29.7.0",
 			"resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz",
@@ -4142,12 +4063,6 @@
 				"node": ">=0.6"
 			}
 		},
-		"node_modules/type": {
-			"version": "2.7.3",
-			"resolved": "https://registry.npmjs.org/type/-/type-2.7.3.tgz",
-			"integrity": "sha512-8j+1QmAbPvLZow5Qpi6NCaN8FB60p/6x8/vfNqOk/hC+HuvFZhL4+WfekuhQLiqFZXOgQdrs3B+XxEmCc6b3FQ==",
-			"license": "ISC"
-		},
 		"node_modules/type-detect": {
 			"version": "4.0.8",
 			"resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz",
@@ -4182,15 +4097,6 @@
 				"node": ">= 0.6"
 			}
 		},
-		"node_modules/typedarray-to-buffer": {
-			"version": "3.1.5",
-			"resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz",
-			"integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==",
-			"license": "MIT",
-			"dependencies": {
-				"is-typedarray": "^1.0.0"
-			}
-		},
 		"node_modules/undici-types": {
 			"version": "5.26.5",
 			"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz",
@@ -4242,6 +4148,8 @@
 			"integrity": "sha512-Z6czzLq4u8fPOyx7TU6X3dvUZVvoJmxSQ+IcrlmagKhilxlhZgxPK6C5Jqbkw1IDUmFTM+cz9QDnnLTwDz/2gQ==",
 			"hasInstallScript": true,
 			"license": "MIT",
+			"optional": true,
+			"peer": true,
 			"dependencies": {
 				"node-gyp-build": "^4.3.0"
 			},
@@ -4290,23 +4198,6 @@
 				"makeerror": "1.0.12"
 			}
 		},
-		"node_modules/websocket": {
-			"version": "1.0.35",
-			"resolved": "https://registry.npmjs.org/websocket/-/websocket-1.0.35.tgz",
-			"integrity": "sha512-/REy6amwPZl44DDzvRCkaI1q1bIiQB0mEFQLUrhz3z2EK91cp3n72rAjUlrTP0zV22HJIUOVHQGPxhFRjxjt+Q==",
-			"license": "Apache-2.0",
-			"dependencies": {
-				"bufferutil": "^4.0.1",
-				"debug": "^2.2.0",
-				"es5-ext": "^0.10.63",
-				"typedarray-to-buffer": "^3.1.5",
-				"utf-8-validate": "^5.0.2",
-				"yaeti": "^0.0.6"
-			},
-			"engines": {
-				"node": ">=4.0.0"
-			}
-		},
 		"node_modules/which": {
 			"version": "2.0.2",
 			"resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
@@ -4388,15 +4279,6 @@
 				"node": ">=10"
 			}
 		},
-		"node_modules/yaeti": {
-			"version": "0.0.6",
-			"resolved": "https://registry.npmjs.org/yaeti/-/yaeti-0.0.6.tgz",
-			"integrity": "sha512-MvQa//+KcZCUkBTIC9blM+CU9J2GzuTytsOUwf2lidtvkx/6gnEp1QvJv34t9vdjhFmha/mUiNDbN0D0mJWdug==",
-			"license": "MIT",
-			"engines": {
-				"node": ">=0.10.32"
-			}
-		},
 		"node_modules/yallist": {
 			"version": "3.1.1",
 			"resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
diff --git a/package.json b/package.json
index 353db7c7b55778dca066835be5c4148a820ae43c..e3940e02fba6952aa38166c8011deeea8cb18c95 100644
--- a/package.json
+++ b/package.json
@@ -5,12 +5,15 @@
 	"main": "app.js",
 	"scripts": {
 		"test": "jest",
-		"start": "node app.js"
+		"start": "node app.js",
+		"format:check": "prettier --check .",
+		"format:write": "prettier --write ."
 	},
 	"author": "",
 	"license": "ISC",
 	"devDependencies": {
-		"jest": "^29.7.0"
+		"jest": "^29.7.0",
+		"prettier": "^3.3.3"
 	},
 	"dependencies": {
 		"express": "^4.19.2",