add redux setup and typescript configuration

Change-Id: Ibe00e3e969d539d3898e412a0093ee2076bec857
diff --git a/client/package.json b/client/package.json
index b60b40e..3f70bca 100644
--- a/client/package.json
+++ b/client/package.json
@@ -4,42 +4,50 @@
   "version": "0.1.0",
   "private": true,
   "dependencies": {
-    "@babel/runtime": "^7.17.9",
-    "@emotion/react": "^11.9.0",
-    "@emotion/styled": "^11.8.1",
-    "@mui/icons-material": "^5.6.2",
-    "@mui/lab": "^5.0.0-alpha.79",
-    "@mui/material": "^5.6.3",
-    "@mui/styles": "^5.6.2",
-    "@testing-library/jest-dom": "^4.2.4",
-    "@testing-library/react": "^9.5.0",
-    "@testing-library/user-event": "^7.2.1",
+    "@babel/runtime": "7.18.9",
+    "@emotion/react": "^11.10.0",
+    "@emotion/styled": "^11.10.0",
+    "@mui/icons-material": "^5.10.2",
+    "@mui/lab": "^5.0.0-alpha.96",
+    "@mui/material": "^5.10.2",
+    "@mui/styles": "^5.10.2",
+    "@reduxjs/toolkit": "^1.8.5",
+    "@testing-library/jest-dom": "^5.16.5",
+    "@testing-library/react": "^13.3.0",
+    "@testing-library/user-event": "^14.4.3",
     "dayjs": "^1.11.5",
-    "emoji-picker-react": "^3.5.1",
-    "react": "^17.0.2",
-    "react-dom": "^17.0.2",
+    "@types/jest": "^28.1.8",
+    "emoji-picker-react": "^3.6.1",
+    "framer-motion": "^7.2.1",
+    "react": "^18.2.0",
+    "react-dom": "^18.2.0",
     "react-emoji-render": "^1.2.4",
     "react-fetch-hook": "^1.9.5",
+    "react-redux": "^8.0.2",
     "react-router-dom": "^6.3.0",
-    "socket.io-client": "^4.5.0",
-    "framer-motion": "^6.3.2"
+    "socket.io-client": "^4.5.1"
   },
   "devDependencies": {
-    "@babel/core": "^7.17.9",
-    "@babel/plugin-transform-runtime": "^7.17.0",
-    "@babel/preset-env": "^7.16.11",
-    "@babel/preset-react": "^7.16.7",
-    "@pmmmwh/react-refresh-webpack-plugin": "^0.5.5",
-    "babel-loader": "^8.2.2",
-    "copy-webpack-plugin": "^8.1.1",
+    "@babel/core": "^7.18.13",
+    "@babel/plugin-transform-runtime": "^7.18.10",
+    "@babel/preset-env": "^7.18.10",
+    "@babel/preset-react": "^7.18.6",
+    "@pmmmwh/react-refresh-webpack-plugin": "^0.5.7",
+    "@types/node": "^18.7.13",
+    "@types/react": "^18.0.17",
+    "@types/react-dom": "^18.0.6",
+    "babel-loader": "^8.2.5",
+    "copy-webpack-plugin": "^11.0.0",
     "css-loader": "^6.7.1",
     "html-webpack-plugin": "^5.5.0",
-    "react-refresh": "^0.12.0",
-    "sass": "^1.51.0",
-    "sass-loader": "^12.6.0",
+    "react-refresh": "^0.14.0",
+    "sass": "^1.54.5",
+    "sass-loader": "^13.0.2",
     "style-loader": "^3.3.1",
-    "webpack": "^5.72.0",
-    "webpack-cli": "^4.9.2"
+    "ts-loader": "^9.3.1",
+    "typescript": "^4.7.4",
+    "webpack": "^5.74.0",
+    "webpack-cli": "^4.10.0"
   },
   "scripts": {
     "build": "npx webpack"