File size: 2,189 Bytes
172f873
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
{
  "name": "@mark-lasfar/portfolio-backend",
  "version": "1.0.1",
  "description": "Backend for Ibrahim Al-Asfar's portfolio website, supporting authentication, project management, and AI-powered chat.",
  "main": "server.js",
  "scripts": {
    "start": "node server.js",
    "build": "echo \"No build step needed for backend\"",
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [
    "portfolio",
    "backend",
    "express",
    "mongodb",
    "cloudinary",
    "authentication",
    "oauth",
    "ai"
  ],
  "author": "Ibrahim Al-Asfar <admin@elasfar.com>",
  "license": "MIT",
  "homepage": "https://github.com/Mark-Lasfar/portfolio-backend#readme",
  "repository": {
    "type": "git",
    "url": "git+https://github.com/Mark-Lasfar/portfolio-backend.git"
  },
  "bugs": {
    "url": "https://github.com/Mark-Lasfar/portfolio-backend/issues"
  },
  "dependencies": {
    "@canva/app-ui-kit": "^4.10.0",
    "@sentry/node": "^7.120.4",
    "@sentry/profiling-node": "^10.0.0",
    "@sentry/tracing": "^7.120.4",
    "axios": "^1.14.0",
    "bcryptjs": "^2.4.3",
    "cloudinary": "^1.41.3",
    "compression": "^1.8.1",
    "cookie-parser": "^1.4.7",
    "cors": "^2.8.6",
    "csurf": "^1.11.0",
    "docx": "^9.6.1",
    "dotenv": "^16.6.1",
    "ejs": "^5.0.1",
    "express": "^4.22.1",
    "express-rate-limit": "^8.3.2",
    "express-timeout-handler": "^2.2.2",
    "express-validator": "^7.3.1",
    "googleapis": "^154.1.0",
    "helmet": "^8.1.0",
    "jimp": "^1.6.0",
    "jsonwebtoken": "^9.0.3",
    "jspdf": "^3.0.4",
    "jspdf-autotable": "^5.0.7",
    "lru-cache": "^11.2.7",
    "mongoose": "^8.23.0",
    "morgan": "^1.10.1",
    "multer": "^1.4.5-lts.1",
    "multer-storage-cloudinary": "^4.0.0",
    "node-cron": "^4.2.1",
    "nodemailer": "^6.10.1",
    "passport": "^0.7.0",
    "passport-facebook": "^3.0.0",
    "passport-github2": "^0.1.12",
    "passport-google-oauth20": "^2.0.0",
    "passport-mgzon": "^1.0.2",
    "passport-oauth2": "^1.8.0",
    "sharp": "^0.32.6",
    "swagger-jsdoc": "^6.2.8",
    "swagger-ui-express": "^5.0.1",
    "validator": "^13.12.0",
    "web-push": "^3.6.7",
    "winston": "^3.19.0"
  }
}