{
  "name": "overseas-appointment-backend",
  "version": "1.0.0",
  "description": "Backend API for overseas appointment mini program",
  "main": "src/server.js",
  "scripts": {
    "start": "node src/server.js",
    "dev": "nodemon src/server.js",
    "init-db": "node src/scripts/initDatabase.js",
    "test": "jest --runInBand",
    "test:watch": "jest --watch",
    "lint": "eslint src/**/*.js",
    "lint:fix": "eslint src/**/*.js --fix",
    "format": "prettier --write \"src/**/*.js\""
  },
  "keywords": [
    "appointment",
    "api",
    "express"
  ],
  "author": "",
  "license": "ISC",
  "dependencies": {
    "axios": "^1.6.2",
    "bcrypt": "^5.1.1",
    "compression": "^1.7.4",
    "connect-redis": "^7.1.0",
    "cors": "^2.8.5",
    "dotenv": "^16.3.1",
    "express": "^4.18.2",
    "express-rate-limit": "^7.1.5",
    "express-session": "^1.17.3",
    "express-validator": "^7.0.1",
    "helmet": "^7.1.0",
    "joi": "^17.11.0",
    "json2csv": "^6.0.0-alpha.2",
    "jsonwebtoken": "^9.0.2",
    "multer": "^1.4.5-lts.1",
    "mysql2": "^3.6.5",
    "redis": "^4.6.11",
    "sequelize": "^6.35.1",
    "sharp": "^0.33.1",
    "swagger-jsdoc": "^6.2.8",
    "swagger-ui-express": "^5.0.1",
    "uuid": "^9.0.1",
    "winston": "^3.11.0"
  },
  "devDependencies": {
    "eslint": "^8.55.0",
    "eslint-config-airbnb-base": "^15.0.0",
    "eslint-plugin-import": "^2.29.0",
    "fast-check": "^3.15.0",
    "jest": "^29.7.0",
    "nodemon": "^3.0.2",
    "prettier": "^3.1.1",
    "supertest": "^6.3.3"
  },
  "engines": {
    "node": ">=24.0.0"
  }
}
