diff --git a/backend/index.js b/backend/index.js
index 86fdfed9604fa04e36d6266c71d48efe2ba2f426..e383d9b561edf2ae80ae298f531cba2425d6b3ec 100644
--- a/backend/index.js
+++ b/backend/index.js
@@ -4,15 +4,19 @@ const cors = require('cors')
 require('dotenv').config()
 const Routes = require('./routes/routes')
 const { errorHandler, notFound } = require('./middlewares/errorMiddleware')
+const checkUserExists = require('./middlewares/MulterMiddleware')
+
 
 
 const app = express()
 
-//Convert data correctly
 app.use(express.json())
 app.use(express.static("public"))
-//Cors is used to connect to the database with react without issues
 app.use(cors())
+app.use(Routes)
+app.use(notFound)
+app.use(errorHandler)
+
 
 const PORT = process.env.PORT || 5000
 
@@ -29,13 +33,7 @@ mongoose.connect(process.env.MONGODB_URI)
  .catch(err => console.log(err))
 
 
-//Routes
 
-app.use(Routes)
-
-//Error functions
-app.use(notFound)
-app.use(errorHandler)
 
 
 
diff --git a/backend/middlewares/MulterMiddleware.js b/backend/middlewares/MulterMiddleware.js
index b026a7577c81e7c0afde091bf9458735f1fc8d8f..98d75a81f601d157e2b6eed02b2e54991efdda93 100644
--- a/backend/middlewares/MulterMiddleware.js
+++ b/backend/middlewares/MulterMiddleware.js
@@ -1,6 +1,10 @@
 const multer = require("multer")
 const {v4: uuidv4} = require("uuid")
 const path = require("path")
+const userModel = require('../models/user')
+
+
+
 
 
 const storage = multer.diskStorage({
diff --git a/backend/node_modules/.package-lock.json b/backend/node_modules/.package-lock.json
index 3657e0a8658ae0504f0d87c505ab31d262d83d90..86ead2fa8e89270267556825a4365176c38b2687 100644
--- a/backend/node_modules/.package-lock.json
+++ b/backend/node_modules/.package-lock.json
@@ -242,12 +242,12 @@
       }
     },
     "node_modules/body-parser": {
-      "version": "1.20.1",
-      "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz",
-      "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==",
+      "version": "1.20.2",
+      "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz",
+      "integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==",
       "dependencies": {
         "bytes": "3.1.2",
-        "content-type": "~1.0.4",
+        "content-type": "~1.0.5",
         "debug": "2.6.9",
         "depd": "2.0.0",
         "destroy": "1.2.0",
@@ -255,7 +255,7 @@
         "iconv-lite": "0.4.24",
         "on-finished": "2.4.1",
         "qs": "6.11.0",
-        "raw-body": "2.5.1",
+        "raw-body": "2.5.2",
         "type-is": "~1.6.18",
         "unpipe": "1.0.0"
       },
@@ -590,6 +590,43 @@
       "resolved": "https://registry.npmjs.org/express-async-handler/-/express-async-handler-1.2.0.tgz",
       "integrity": "sha512-rCSVtPXRmQSW8rmik/AIb2P0op6l7r1fMW538yyvTMltCO4xQEWMmobfrIxN2V1/mVrgxB8Az3reYF6yUZw37w=="
     },
+    "node_modules/express/node_modules/body-parser": {
+      "version": "1.20.1",
+      "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz",
+      "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==",
+      "dependencies": {
+        "bytes": "3.1.2",
+        "content-type": "~1.0.4",
+        "debug": "2.6.9",
+        "depd": "2.0.0",
+        "destroy": "1.2.0",
+        "http-errors": "2.0.0",
+        "iconv-lite": "0.4.24",
+        "on-finished": "2.4.1",
+        "qs": "6.11.0",
+        "raw-body": "2.5.1",
+        "type-is": "~1.6.18",
+        "unpipe": "1.0.0"
+      },
+      "engines": {
+        "node": ">= 0.8",
+        "npm": "1.2.8000 || >= 1.4.16"
+      }
+    },
+    "node_modules/express/node_modules/raw-body": {
+      "version": "2.5.1",
+      "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz",
+      "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==",
+      "dependencies": {
+        "bytes": "3.1.2",
+        "http-errors": "2.0.0",
+        "iconv-lite": "0.4.24",
+        "unpipe": "1.0.0"
+      },
+      "engines": {
+        "node": ">= 0.8"
+      }
+    },
     "node_modules/fill-range": {
       "version": "7.0.1",
       "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
@@ -1527,9 +1564,9 @@
       }
     },
     "node_modules/raw-body": {
-      "version": "2.5.1",
-      "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz",
-      "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==",
+      "version": "2.5.2",
+      "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz",
+      "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==",
       "dependencies": {
         "bytes": "3.1.2",
         "http-errors": "2.0.0",
diff --git a/backend/node_modules/body-parser/HISTORY.md b/backend/node_modules/body-parser/HISTORY.md
index fb212b3605b390a153fa6e6fb4cac44a015a87c4..b89249198a83f852a4d16db733697385317f929a 100644
--- a/backend/node_modules/body-parser/HISTORY.md
+++ b/backend/node_modules/body-parser/HISTORY.md
@@ -1,3 +1,11 @@
+1.20.2 / 2023-02-21
+===================
+
+  * Fix strict json error message on Node.js 19+
+  * deps: content-type@~1.0.5
+    - perf: skip value escaping when unnecessary
+  * deps: raw-body@2.5.2
+
 1.20.1 / 2022-10-06
 ===================
 
diff --git a/backend/node_modules/body-parser/README.md b/backend/node_modules/body-parser/README.md
index c507cbb035ccde628e13062b668f18045368e8c9..38553bf7987866e7d9d872acb0e4ceec9c826c4e 100644
--- a/backend/node_modules/body-parser/README.md
+++ b/backend/node_modules/body-parser/README.md
@@ -1,8 +1,8 @@
 # body-parser
 
-[![NPM Version][npm-image]][npm-url]
-[![NPM Downloads][downloads-image]][downloads-url]
-[![Build Status][github-actions-ci-image]][github-actions-ci-url]
+[![NPM Version][npm-version-image]][npm-url]
+[![NPM Downloads][npm-downloads-image]][npm-url]
+[![Build Status][ci-image]][ci-url]
 [![Test Coverage][coveralls-image]][coveralls-url]
 
 Node.js body parsing middleware.
@@ -454,11 +454,12 @@ app.use(bodyParser.text({ type: 'text/html' }))
 
 [MIT](LICENSE)
 
-[npm-image]: https://img.shields.io/npm/v/body-parser.svg
-[npm-url]: https://npmjs.org/package/body-parser
-[coveralls-image]: https://img.shields.io/coveralls/expressjs/body-parser/master.svg
+[ci-image]: https://badgen.net/github/checks/expressjs/body-parser/master?label=ci
+[ci-url]: https://github.com/expressjs/body-parser/actions/workflows/ci.yml
+[coveralls-image]: https://badgen.net/coveralls/c/github/expressjs/body-parser/master
 [coveralls-url]: https://coveralls.io/r/expressjs/body-parser?branch=master
-[downloads-image]: https://img.shields.io/npm/dm/body-parser.svg
-[downloads-url]: https://npmjs.org/package/body-parser
-[github-actions-ci-image]: https://img.shields.io/github/workflow/status/expressjs/body-parser/ci/master?label=ci
-[github-actions-ci-url]: https://github.com/expressjs/body-parser/actions/workflows/ci.yml
+[node-version-image]: https://badgen.net/npm/node/body-parser
+[node-version-url]: https://nodejs.org/en/download
+[npm-downloads-image]: https://badgen.net/npm/dm/body-parser
+[npm-url]: https://npmjs.org/package/body-parser
+[npm-version-image]: https://badgen.net/npm/v/body-parser
diff --git a/backend/node_modules/body-parser/lib/types/json.js b/backend/node_modules/body-parser/lib/types/json.js
index c2745be3a33fe16e30174e508c695b082852c8f7..59f3f7e28f2416cac957b5e35dc78839a5019e0d 100644
--- a/backend/node_modules/body-parser/lib/types/json.js
+++ b/backend/node_modules/body-parser/lib/types/json.js
@@ -39,6 +39,9 @@ module.exports = json
 
 var FIRST_CHAR_REGEXP = /^[\x20\x09\x0a\x0d]*([^\x20\x09\x0a\x0d])/ // eslint-disable-line no-control-regex
 
+var JSON_SYNTAX_CHAR = '#'
+var JSON_SYNTAX_REGEXP = /#+/g
+
 /**
  * Create a middleware to parse JSON bodies.
  *
@@ -152,15 +155,23 @@ function json (options) {
 
 function createStrictSyntaxError (str, char) {
   var index = str.indexOf(char)
-  var partial = index !== -1
-    ? str.substring(0, index) + '#'
-    : ''
+  var partial = ''
+
+  if (index !== -1) {
+    partial = str.substring(0, index) + JSON_SYNTAX_CHAR
+
+    for (var i = index + 1; i < str.length; i++) {
+      partial += JSON_SYNTAX_CHAR
+    }
+  }
 
   try {
     JSON.parse(partial); /* istanbul ignore next */ throw new SyntaxError('strict violation')
   } catch (e) {
     return normalizeJsonSyntaxError(e, {
-      message: e.message.replace('#', char),
+      message: e.message.replace(JSON_SYNTAX_REGEXP, function (placeholder) {
+        return str.substring(index, index + placeholder.length)
+      }),
       stack: e.stack
     })
   }
diff --git a/backend/node_modules/body-parser/package.json b/backend/node_modules/body-parser/package.json
index 9cd2ccbbae4b4bbdf349d827ab4fafd54288b515..4637304389c5dc7a0a52974c120ea164b85e7c22 100644
--- a/backend/node_modules/body-parser/package.json
+++ b/backend/node_modules/body-parser/package.json
@@ -1,7 +1,7 @@
 {
   "name": "body-parser",
   "description": "Node.js body parsing middleware",
-  "version": "1.20.1",
+  "version": "1.20.2",
   "contributors": [
     "Douglas Christopher Wilson <doug@somethingdoug.com>",
     "Jonathan Ong <me@jongleberry.com> (http://jongleberry.com)"
@@ -10,7 +10,7 @@
   "repository": "expressjs/body-parser",
   "dependencies": {
     "bytes": "3.1.2",
-    "content-type": "~1.0.4",
+    "content-type": "~1.0.5",
     "debug": "2.6.9",
     "depd": "2.0.0",
     "destroy": "1.2.0",
@@ -18,23 +18,23 @@
     "iconv-lite": "0.4.24",
     "on-finished": "2.4.1",
     "qs": "6.11.0",
-    "raw-body": "2.5.1",
+    "raw-body": "2.5.2",
     "type-is": "~1.6.18",
     "unpipe": "1.0.0"
   },
   "devDependencies": {
-    "eslint": "8.24.0",
+    "eslint": "8.34.0",
     "eslint-config-standard": "14.1.1",
-    "eslint-plugin-import": "2.26.0",
+    "eslint-plugin-import": "2.27.5",
     "eslint-plugin-markdown": "3.0.0",
     "eslint-plugin-node": "11.1.0",
-    "eslint-plugin-promise": "6.0.1",
+    "eslint-plugin-promise": "6.1.1",
     "eslint-plugin-standard": "4.1.0",
     "methods": "1.1.2",
-    "mocha": "10.0.0",
+    "mocha": "10.2.0",
     "nyc": "15.1.0",
     "safe-buffer": "5.2.1",
-    "supertest": "6.3.0"
+    "supertest": "6.3.3"
   },
   "files": [
     "lib/",
diff --git a/backend/node_modules/raw-body/HISTORY.md b/backend/node_modules/raw-body/HISTORY.md
index 0b6b8373991e73d09e70788fa987f9571ef879ed..baf0e2d889a10d66ced544f78a4eb5ffa4a24ae6 100644
--- a/backend/node_modules/raw-body/HISTORY.md
+++ b/backend/node_modules/raw-body/HISTORY.md
@@ -1,3 +1,8 @@
+2.5.2 / 2023-02-21
+==================
+
+  * Fix error message for non-stream argument
+
 2.5.1 / 2022-02-28
 ==================
 
diff --git a/backend/node_modules/raw-body/README.md b/backend/node_modules/raw-body/README.md
index 695c6607369db5909403329f7f480afdc11e458f..d9b36d611830efeaae613bd8dff4082d7fd55971 100644
--- a/backend/node_modules/raw-body/README.md
+++ b/backend/node_modules/raw-body/README.md
@@ -219,5 +219,5 @@ server.listen(3000);
 [coveralls-url]: https://coveralls.io/r/stream-utils/raw-body?branch=master
 [downloads-image]: https://img.shields.io/npm/dm/raw-body.svg
 [downloads-url]: https://npmjs.org/package/raw-body
-[github-actions-ci-image]: https://img.shields.io/github/workflow/status/stream-utils/raw-body/ci/master?label=ci
+[github-actions-ci-image]: https://img.shields.io/github/actions/workflow/status/stream-utils/raw-body/ci.yml?branch=master&label=ci
 [github-actions-ci-url]: https://github.com/jshttp/stream-utils/raw-body?query=workflow%3Aci
diff --git a/backend/node_modules/raw-body/index.js b/backend/node_modules/raw-body/index.js
index a8f537f38b62bf97dfd73d672898be3589b42359..9cdcd12217303cdbbf1c2524978db7ba3379555e 100644
--- a/backend/node_modules/raw-body/index.js
+++ b/backend/node_modules/raw-body/index.js
@@ -69,6 +69,13 @@ function getRawBody (stream, options, callback) {
   var done = callback
   var opts = options || {}
 
+  // light validation
+  if (stream === undefined) {
+    throw new TypeError('argument stream is required')
+  } else if (typeof stream !== 'object' || stream === null || typeof stream.on !== 'function') {
+    throw new TypeError('argument stream must be a stream')
+  }
+
   if (options === true || typeof options === 'string') {
     // short cut for encoding
     opts = {
diff --git a/backend/node_modules/raw-body/package.json b/backend/node_modules/raw-body/package.json
index 50fc90ad4135ee618546821bc3a3ad8f1b88a63d..aabb1c368d95562e18fbbae384868303ae4bd590 100644
--- a/backend/node_modules/raw-body/package.json
+++ b/backend/node_modules/raw-body/package.json
@@ -1,7 +1,7 @@
 {
   "name": "raw-body",
   "description": "Get and validate the raw body of a readable stream.",
-  "version": "2.5.1",
+  "version": "2.5.2",
   "author": "Jonathan Ong <me@jongleberry.com> (http://jongleberry.com)",
   "contributors": [
     "Douglas Christopher Wilson <doug@somethingdoug.com>",
@@ -17,14 +17,14 @@
   },
   "devDependencies": {
     "bluebird": "3.7.2",
-    "eslint": "7.32.0",
-    "eslint-config-standard": "14.1.1",
-    "eslint-plugin-import": "2.25.4",
-    "eslint-plugin-markdown": "2.2.1",
+    "eslint": "8.34.0",
+    "eslint-config-standard": "15.0.1",
+    "eslint-plugin-import": "2.27.5",
+    "eslint-plugin-markdown": "3.0.0",
     "eslint-plugin-node": "11.1.0",
-    "eslint-plugin-promise": "5.2.0",
+    "eslint-plugin-promise": "6.1.1",
     "eslint-plugin-standard": "4.1.0",
-    "mocha": "9.2.1",
+    "mocha": "10.2.0",
     "nyc": "15.1.0",
     "readable-stream": "2.3.7",
     "safe-buffer": "5.2.1"
diff --git a/backend/package-lock.json b/backend/package-lock.json
index d436636c1fee4e3803e1bad38620e53488edcfdf..b336c78ed49b6038f3c40917ef869711af8c2bd1 100644
--- a/backend/package-lock.json
+++ b/backend/package-lock.json
@@ -10,6 +10,7 @@
       "license": "ISC",
       "dependencies": {
         "bcrypt": "^5.1.0",
+        "body-parser": "^1.20.2",
         "config": "^3.3.9",
         "cors": "^2.8.5",
         "dotenv": "^16.0.3",
@@ -261,12 +262,12 @@
       }
     },
     "node_modules/body-parser": {
-      "version": "1.20.1",
-      "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz",
-      "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==",
+      "version": "1.20.2",
+      "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz",
+      "integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==",
       "dependencies": {
         "bytes": "3.1.2",
-        "content-type": "~1.0.4",
+        "content-type": "~1.0.5",
         "debug": "2.6.9",
         "depd": "2.0.0",
         "destroy": "1.2.0",
@@ -274,7 +275,7 @@
         "iconv-lite": "0.4.24",
         "on-finished": "2.4.1",
         "qs": "6.11.0",
-        "raw-body": "2.5.1",
+        "raw-body": "2.5.2",
         "type-is": "~1.6.18",
         "unpipe": "1.0.0"
       },
@@ -609,6 +610,43 @@
       "resolved": "https://registry.npmjs.org/express-async-handler/-/express-async-handler-1.2.0.tgz",
       "integrity": "sha512-rCSVtPXRmQSW8rmik/AIb2P0op6l7r1fMW538yyvTMltCO4xQEWMmobfrIxN2V1/mVrgxB8Az3reYF6yUZw37w=="
     },
+    "node_modules/express/node_modules/body-parser": {
+      "version": "1.20.1",
+      "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz",
+      "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==",
+      "dependencies": {
+        "bytes": "3.1.2",
+        "content-type": "~1.0.4",
+        "debug": "2.6.9",
+        "depd": "2.0.0",
+        "destroy": "1.2.0",
+        "http-errors": "2.0.0",
+        "iconv-lite": "0.4.24",
+        "on-finished": "2.4.1",
+        "qs": "6.11.0",
+        "raw-body": "2.5.1",
+        "type-is": "~1.6.18",
+        "unpipe": "1.0.0"
+      },
+      "engines": {
+        "node": ">= 0.8",
+        "npm": "1.2.8000 || >= 1.4.16"
+      }
+    },
+    "node_modules/express/node_modules/raw-body": {
+      "version": "2.5.1",
+      "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz",
+      "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==",
+      "dependencies": {
+        "bytes": "3.1.2",
+        "http-errors": "2.0.0",
+        "iconv-lite": "0.4.24",
+        "unpipe": "1.0.0"
+      },
+      "engines": {
+        "node": ">= 0.8"
+      }
+    },
     "node_modules/fill-range": {
       "version": "7.0.1",
       "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
@@ -1559,9 +1597,9 @@
       }
     },
     "node_modules/raw-body": {
-      "version": "2.5.1",
-      "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz",
-      "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==",
+      "version": "2.5.2",
+      "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz",
+      "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==",
       "dependencies": {
         "bytes": "3.1.2",
         "http-errors": "2.0.0",
@@ -2220,12 +2258,12 @@
       "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA=="
     },
     "body-parser": {
-      "version": "1.20.1",
-      "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz",
-      "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==",
+      "version": "1.20.2",
+      "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz",
+      "integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==",
       "requires": {
         "bytes": "3.1.2",
-        "content-type": "~1.0.4",
+        "content-type": "~1.0.5",
         "debug": "2.6.9",
         "depd": "2.0.0",
         "destroy": "1.2.0",
@@ -2233,7 +2271,7 @@
         "iconv-lite": "0.4.24",
         "on-finished": "2.4.1",
         "qs": "6.11.0",
-        "raw-body": "2.5.1",
+        "raw-body": "2.5.2",
         "type-is": "~1.6.18",
         "unpipe": "1.0.0"
       }
@@ -2485,6 +2523,38 @@
         "type-is": "~1.6.18",
         "utils-merge": "1.0.1",
         "vary": "~1.1.2"
+      },
+      "dependencies": {
+        "body-parser": {
+          "version": "1.20.1",
+          "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz",
+          "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==",
+          "requires": {
+            "bytes": "3.1.2",
+            "content-type": "~1.0.4",
+            "debug": "2.6.9",
+            "depd": "2.0.0",
+            "destroy": "1.2.0",
+            "http-errors": "2.0.0",
+            "iconv-lite": "0.4.24",
+            "on-finished": "2.4.1",
+            "qs": "6.11.0",
+            "raw-body": "2.5.1",
+            "type-is": "~1.6.18",
+            "unpipe": "1.0.0"
+          }
+        },
+        "raw-body": {
+          "version": "2.5.1",
+          "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz",
+          "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==",
+          "requires": {
+            "bytes": "3.1.2",
+            "http-errors": "2.0.0",
+            "iconv-lite": "0.4.24",
+            "unpipe": "1.0.0"
+          }
+        }
       }
     },
     "express-async-handler": {
@@ -3190,9 +3260,9 @@
       "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg=="
     },
     "raw-body": {
-      "version": "2.5.1",
-      "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz",
-      "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==",
+      "version": "2.5.2",
+      "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz",
+      "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==",
       "requires": {
         "bytes": "3.1.2",
         "http-errors": "2.0.0",
diff --git a/backend/package.json b/backend/package.json
index 4e140c7913aaa1e4c55e50611897f46f9309136a..1566d0c0b8b8d5e7041f505629c18728e3dfd9a9 100644
--- a/backend/package.json
+++ b/backend/package.json
@@ -11,6 +11,7 @@
   "license": "ISC",
   "dependencies": {
     "bcrypt": "^5.1.0",
+    "body-parser": "^1.20.2",
     "config": "^3.3.9",
     "cors": "^2.8.5",
     "dotenv": "^16.0.3",
diff --git a/backend/public/uploads/8d95b2c8-587c-4a23-9dbf-2f6d2429b309_.jpg b/backend/public/uploads/81976f69-cdcb-4376-820b-7db0bf090af8_.jpg
similarity index 100%
rename from backend/public/uploads/8d95b2c8-587c-4a23-9dbf-2f6d2429b309_.jpg
rename to backend/public/uploads/81976f69-cdcb-4376-820b-7db0bf090af8_.jpg
diff --git a/backend/public/uploads/c504c974-e8dd-4dbd-8441-270a85e608a3_.jpg b/backend/public/uploads/c504c974-e8dd-4dbd-8441-270a85e608a3_.jpg
deleted file mode 100644
index 226c1aea2c2a8c5e933f2716ed83fd90977326e1..0000000000000000000000000000000000000000
Binary files a/backend/public/uploads/c504c974-e8dd-4dbd-8441-270a85e608a3_.jpg and /dev/null differ
diff --git a/backend/public/uploads/c777c56e-9637-437a-a832-ddca6a72d4d1_.jpg b/backend/public/uploads/c777c56e-9637-437a-a832-ddca6a72d4d1_.jpg
deleted file mode 100644
index 226c1aea2c2a8c5e933f2716ed83fd90977326e1..0000000000000000000000000000000000000000
Binary files a/backend/public/uploads/c777c56e-9637-437a-a832-ddca6a72d4d1_.jpg and /dev/null differ
diff --git a/backend/public/uploads/9f36fed7-bc98-4dc4-a1ee-8b477451bc52_.jpg b/backend/public/uploads/d2e9f7c7-6d6a-4973-b989-7838ed629eb7_.jpg
similarity index 100%
rename from backend/public/uploads/9f36fed7-bc98-4dc4-a1ee-8b477451bc52_.jpg
rename to backend/public/uploads/d2e9f7c7-6d6a-4973-b989-7838ed629eb7_.jpg
diff --git a/backend/routes/routes.js b/backend/routes/routes.js
index 05df3e7e77f1e6f68e3862782eab3e8e201ec57b..40c1a44fc6d5636eeaed415283eca30a173e5f7e 100644
--- a/backend/routes/routes.js
+++ b/backend/routes/routes.js
@@ -68,6 +68,8 @@ router.post("/register", uploadMiddleware.single("photo"),asyncHandler(async (re
     const password =  req.body.password
     const photo = req.file.filename
 
+    console.log({email})
+
     const userExists = await userModel.findOne({email})
 
     if(userExists){
diff --git a/backend/utils/generateToken.js b/backend/utils/generateToken.js
index 4458b494c9516acae66b08b082aa223ff5f7d7db..f1cb867caaae577d93413d789afb0440ba84a84b 100644
--- a/backend/utils/generateToken.js
+++ b/backend/utils/generateToken.js
@@ -3,7 +3,7 @@ require('dotenv').config()
 
 const generateToken = (id) => {
     return jwt.sign({userId: id}, process.env.JWT_SECRET,{
-        expiresIn: '1d',
+        expiresIn: '10s',
     })
 }
 
diff --git a/frontend/src/components/Landing.js b/frontend/src/components/Landing.js
index 630750db785baf49534a4e64e5c1ecfd8b084fc3..80f8e25edc206cd00131fe6ae14e3731046c0da1 100644
--- a/frontend/src/components/Landing.js
+++ b/frontend/src/components/Landing.js
@@ -22,16 +22,17 @@ const Landing = () => {
            <li className={styles.item}>Creating Posts ✅ </li>
            <li className={styles.item}>Account Sign Up ✅ </li>
            <li className={styles.item}>Logging In  ✅</li>
-           <li className={styles.item}>Authentication Checking  </li>
+           <li className={styles.item}>Authentication Checking ✅</li>
+           <li className={styles.item}>Post filtering and priority</li>
            </ul>
         </div>
         <div className={styles.card}>
             <h1>Pages🍺</h1>
             <ul className={styles.list}>
            <li className={styles.item}>Home </li>
-           <li className={styles.item}>About </li>
+           <li className={styles.item}>Profile ✅</li>
            <li className={styles.item}>Discover </li>
-           <li className={styles.item}>Log In and Sign Up </li>
+           <li className={styles.item}>Log In and Sign Up ✅</li>
            <li className={styles.item}>Crate Post ✅</li>
            </ul>
         </div>
diff --git a/frontend/src/components/SignUp.js b/frontend/src/components/SignUp.js
index b52a66076cab7810eb82730f865dc9f011f35a65..a9ec34076496141d1b37d0666526b134709884ea 100644
--- a/frontend/src/components/SignUp.js
+++ b/frontend/src/components/SignUp.js
@@ -2,6 +2,7 @@ import React from 'react'
 import { useState } from 'react'
 import axios from 'axios'
 import styles from '../styles/login.module.css'
+import { useNavigate } from "react-router-dom";
 const SignUp = () => {
 
 
@@ -9,7 +10,9 @@ const SignUp = () => {
   const [password, setPassword] = useState("")
   const [email, setEmail] = useState("")
   const [imageData,setImageData] = useState("")
+  const navigate = useNavigate()
 
+  
   const handleSignup = () => {
 
 
@@ -30,6 +33,7 @@ const SignUp = () => {
         console.log(res.data)
       })
 
+      navigate('/login')
   }
 
   return (
diff --git a/frontend/src/index.css b/frontend/src/index.css
index 5f9eb929e7e85cf71181dd8045c7e2d369a96eeb..08a0f535f7bee181f870a436ff14a965a27a9b0c 100644
--- a/frontend/src/index.css
+++ b/frontend/src/index.css
@@ -21,6 +21,12 @@ h1{
   font-family: 'Inter', sans-serif;
   font-weight: bold;
 }
+p{
+  font-family: 'Poppins', sans-serif;
+}
+h2{
+  font-family: 'Poppins', sans-serif;
+}
 
 code {
   font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New',
diff --git a/frontend/src/pages/Profile.js b/frontend/src/pages/Profile.js
index 7a5fa3b6d670b3afae334103dc88e3afa3dc4fae..fd499581c5d368930ed46585c59a427a15a9d981 100644
--- a/frontend/src/pages/Profile.js
+++ b/frontend/src/pages/Profile.js
@@ -2,7 +2,7 @@ import React from 'react'
 import { useEffect, useState } from 'react';
 import axios from 'axios';
 import { useNavigate } from 'react-router-dom';
-
+import styles from '../styles/profile.module.css'
 const Profile = () => {
 
   const [profileData, setProfileData] = useState()
@@ -12,66 +12,87 @@ const Profile = () => {
   const navigate = useNavigate();
 
   const checkLoggedIn = async () => {
-   
-      const token = localStorage.getItem('token');
-      if (!token) {
-        setIsLoggedIn(false);
-        navigate('/login');
-        return;
-      }
-      const response = await axios.get('http://localhost:5000/profile', {
-        headers: { Authorization: `Bearer ${token}` },
-      }).then((res) => {
-        setIsLoggedIn(true);
-      }).catch(err => {
-        localStorage.removeItem("token")
-        setIsLoggedIn(false)
-        navigate('/login')
-      })
+
+    const token = localStorage.getItem('token');
+    if (!token) {
+      setIsLoggedIn(false);
+      navigate('/login');
+      return;
+    }
+    const response = await axios.get('http://localhost:5000/profile', {
+      headers: { Authorization: `Bearer ${token}` },
+    }).then((res) => {
+      setIsLoggedIn(true);
+    }).catch(err => {
+      localStorage.removeItem("token")
+      setIsLoggedIn(false)
+      navigate('/login')
+    })
   }
 
   const fetchProfile = async () => {
 
     setLoading(true)
-    
-      const token = localStorage.getItem('token');
-      console.log(token)
-      
-      axios.get('http://localhost:5000/profile', {
-        headers: {
-          Authorization: `Bearer ${token}`
-        }
-      }).then((res) => {
-        setProfileData(res.data);
-        console.log(profileData)
-      }).catch(err => console.log(err))
-
-      setLoading(false)
-      
-   
+
+    const token = localStorage.getItem('token');
+    console.log(token)
+
+    axios.get('http://localhost:5000/profile', {
+      headers: {
+        Authorization: `Bearer ${token}`
+      }
+    }).then((res) => {
+      setProfileData(res.data);
+      console.log(profileData)
+    }).catch(err => console.log(err))
+
+    setLoading(false)
+
+
   }
 
   useEffect(() => {
     checkLoggedIn()
     fetchProfile()
-    
-   
+
+
   }, [])
 
-  if(!profileData){
-    return(
+  if (!profileData) {
+    return (
       <div>Loading...</div>
     )
-  }else if(profileData){
+  } else if (profileData) {
     return (
-  <div>
-    <h1>{profileData.username}</h1>
-    <h1>{profileData.email}</h1>
-   <img src={`http://localhost:5000/uploads/${profileData.photo}`}/>
-  </div>
- )
+      <>
+        <div className={styles.header}>
+          <h1>Welcome to your profile page</h1>
+          <h3>Redirect through these links 👍</h3>
+
+          <div className={styles.text_container}>
+            <h3>Discover</h3>
+            <h3>|</h3>
+            <h3>Settings</h3>
+            <h3>|</h3>
+            <h3>Log out</h3>
+          </div>
+        </div>
+        <div className={styles.profile}>
+          <img className={styles.picture} src={`http://localhost:5000/uploads/${profileData.photo}`} />
+          <h2>{profileData.username}</h2>
+          <h3>{profileData.email}</h3>
+          <div className={styles.text_container}>
+            <h3>Posts: 0</h3>
+            <h3>Upvotes: 0</h3>
+          </div>
+        </div>
+        <div>
+          <h1>Your Posts:</h1>
+        </div>
+      </>
+    )
   }
- 
+
 
 }
 
diff --git a/frontend/src/styles/profile.module.css b/frontend/src/styles/profile.module.css
new file mode 100644
index 0000000000000000000000000000000000000000..dddb89da5e45551a8b01bb23289355809e09d216
--- /dev/null
+++ b/frontend/src/styles/profile.module.css
@@ -0,0 +1,53 @@
+body{
+    text-align: center;
+    
+}
+h1{
+    color: rgb(255, 240, 153);
+    font-size: 300%;
+    font-weight: 900;
+}
+h2{
+    margin: 0;
+}
+h3{
+    margin: 20px;
+}
+
+.picture {
+    width: 150px;
+    height: 150px;
+    border-radius: 50%;
+    object-fit: cover;
+    display: block;
+    overflow: hidden;
+    margin: 20px auto;
+    
+}
+.profile{
+    background: rgb(49, 117, 121);
+    backdrop-filter: blur(10px);
+    -webkit-backdrop-filter: blur(10px);
+    border-radius: 10px;
+    border: 2px solid rgba(169, 173, 173, 0.2);
+    box-shadow: 0 8px 23px 0 rgba(37, 37, 37, 0.562);
+    text-align: center;
+    width: 40vw;
+    margin: 100px auto;
+    min-height: 50vh;
+}
+.header{
+    max-width: 100vw;
+    min-height: 10vh;
+    margin: 0;
+    background-color: rgb(49, 117, 121);
+    box-sizing: border-box;
+
+}
+.text_container{
+    display: flex;
+    flex-direction: row;
+    justify-content: center;
+    text-align: center;
+    
+}
\ No newline at end of file
diff --git a/frontend/src/styles/styles.module.css b/frontend/src/styles/styles.module.css
index 43bb6cc8be4e2999a2cfc646095d6441fac7fff0..7e1e6eaa9e63279f5c9a815e98ed2b34189b5d9a 100644
--- a/frontend/src/styles/styles.module.css
+++ b/frontend/src/styles/styles.module.css
@@ -75,19 +75,17 @@ object-fit: cover;
 }
 
 .Header2{
-    height: 60vh;
+    height: 70vh;
     display: flex;
     justify-content: center;
-    align-items: center;
     background: rgb(49, 117, 121);
     flex-wrap: wrap; /* Add flex-wrap property to allow text to wrap */
 
 }
 .card {
-    flex: 1;
-    margin: 0 45px;
-    max-width: 400px;
-    aspect-ratio: 1/1; /* Set aspect ratio to 1:1 */
+    margin: 40px;
+    width: 500px;
+    height: 500px;
     background: rgb(62, 121, 124);
     border-radius: 10px;
     box-shadow: 0 8px 13px 0 rgba(41, 41, 43, 0.548);