{ "name": "backend", "version": "1.0.0", "main": "index.js", "scripts": { "start": "NODE_ENV=production node app.js", "cleanup": "lsof -ti:3030 | xargs kill -9 || true", "dev": "npm run cleanup && NODE_ENV=development nodemon app.js", "test": "NODE_ENV=test mocha test/**/*.test.js", "test:unit": "NODE_ENV=test mocha test/unit/*.test.js", "db:seed:init": "NODE_ENV=development npx sequelize-cli db:seed --seed 20250423-init-admin-user.js && npx sequelize-cli db:seed --seed 20250423-init-features.js && npx sequelize-cli db:seed --seed 20250423-init-subscription-01-plans.js && npx sequelize-cli db:seed --seed 20250423-init-subscription-02-plan-features.js && npx sequelize-cli db:seed --seed 20250424-init-menus.js", "db:seed:init:prod": "NODE_ENV=production npx sequelize-cli db:seed --seed 20250423-init-admin-user.js && NODE_ENV=production npx sequelize-cli db:seed --seed 20250423-init-features.js && NODE_ENV=production npx sequelize-cli db:seed --seed 20250423-init-subscription-01-plans.js && NODE_ENV=production npx sequelize-cli db:seed --seed 20250423-init-subscription-02-plan-features.js && NODE_ENV=production npx sequelize-cli db:seed --seed 20250424-init-menus.js" }, "keywords": [], "author": "", "license": "ISC", "description": "", "dependencies": { "bcrypt": "^5.1.1", "body-parser": "^1.20.3", "cookie-parser": "^1.4.7", "cors": "^2.8.5", "csv-parser": "^3.2.0", "dotenv": "^16.4.7", "express": "^4.21.2", "express-mysql-session": "^3.0.3", "express-session": "^1.18.1", "express-validator": "^7.2.1", "helmet": "^8.0.0", "jsonwebtoken": "^9.0.2", "mariadb": "^3.4.0", "mongoose": "^8.12.1", "morgan": "^1.10.0", "multer": "^2.0.0", "mysql2": "^3.13.0", "sequelize": "^6.37.6", "sharp": "^0.34.2", "socket.io": "^4.8.1", "tesseract.js": "^6.0.1", "winston": "^3.17.0", "xlsx": "^0.18.5" }, "devDependencies": { "chai": "^5.2.0", "mocha": "^11.5.0", "proxyquire": "^2.1.3", "sequelize-cli": "^6.6.2", "sinon": "^20.0.0" } }