{
  "name": "snapbook-africa",
  "version": "1.0.0",
  "description": "snapbook-backend",
  "main": "index.js",
  "scripts": {
    "dev": "nodemon src/server.ts",
    "build": "rimraf dist && tsc",
    "start": "node dist/src/server.js",
    "migrate": "prisma migrate dev",
    "generate": "prisma generate",
    "pesapal:register-ipn": "ts-node scripts/register-pesapal-ipn.ts"
  },
  "prisma": {
    "seed": "node prisma/seed.js"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "type": "commonjs",
  "devDependencies": {
    "@types/bcryptjs": "^2.4.6",
    "@types/compression": "^1.8.1",
    "@types/cors": "^2.8.19",
    "@types/express": "^5.0.6",
    "@types/geoip-lite": "^1.4.4",
    "@types/jsonwebtoken": "^9.0.10",
    "@types/morgan": "^1.9.10",
    "@types/multer": "^2.0.0",
    "@types/node": "^25.2.2",
    "@types/nodemailer": "^8.0.0",
    "@types/pdfkit": "^0.17.5",
    "nodemon": "^3.1.11",
    "rimraf": "^6.1.3",
    "ts-node": "^10.9.2",
    "typescript": "^5.9.3"
  },
  "dependencies": {
    "@prisma/client": "^5.22.0",
    "axios": "^1.15.2",
    "bcryptjs": "^3.0.3",
    "compression": "^1.8.1",
    "cors": "^2.8.6",
    "dotenv": "^17.3.1",
    "express": "^5.2.1",
    "express-rate-limit": "^8.2.1",
    "geoip-lite": "^2.0.2",
    "google-auth-library": "^10.6.2",
    "helmet": "^8.1.0",
    "jsonwebtoken": "^9.0.3",
    "morgan": "^1.10.1",
    "multer": "^2.0.2",
    "prisma": "^5.22.0",
    "nodemailer": "^8.0.4",
    "pdfkit": "^0.17.2",
    "sharp": "^0.34.5",
    "winston": "^3.19.0",
    "zod": "^4.3.6"
  }
}
