{ "name": "campverse", "version": "1.0.0", "description": "CampVerse Backend - Event Management Platform API", "main": "app.js", "scripts": { "test": "cross-env NODE_ENV=test jest", "test:watch": "cross-env NODE_ENV=test jest --watch", "test:coverage": "cross-env NODE_ENV=test jest --coverage", "test:ci": "cross-env NODE_ENV=test jest --ci --coverage --watchAll=false", "dev": "cross-env NODE_ENV=development nodemon app.js", "start": "cross-env NODE_ENV=production node app.js", "start:dev": "cross-env NODE_ENV=development node app.js", "start:staging": "NODE_ENV=staging node app.js", "lint": "eslint .", "lint:fix": "eslint . --fix", "lint:check": "eslint . --max-warnings 0", "format": "prettier --write '**/*.{js,json,md}'", "format:check": "prettier --check '**/*.{js,json,md}'", "security:audit": "npm audit --audit-level moderate", "security:fix": "npm audit fix", "db:migrate": "node scripts/migrateAuthFlags.js", "db:migrate:roles": "node scripts/fixUserRoles.js", "db:seed": "cross-env NODE_ENV=development node scripts/seed.js", "db:reset": "cross-env NODE_ENV=test node scripts/resetTestDb.js", "migrate:institution-domains": "node scripts/migrateInstitutionEmailDomains.js", "health:check": "curl -f http://localhost:5001/health || exit 1", "docker:build": "docker build -t campverse-backend .", "docker:run": "docker run -p 5001:5001 campverse-backend", "docker:compose": "docker-compose up -d", "docker:compose:down": "docker-compose down", "precommit": "npm run lint:check && npm run format:check && npm run test:ci" }, "repository": { "type": "git", "url": "git+https://github.com/CcpC-cuj/CampVerse.git" }, "keywords": [ "events", "education", "platform", "api", "nodejs", "express", "mongodb" ], "author": "CampVerse Team", "license": "GPL-3.0-only", "bugs": { "url": "https://github.com/CcpC-cuj/CampVerse/issues" }, "homepage": "https://github.com/CcpC-cuj/CampVerse#readme", "engines": { "node": ">=16.0.0", "npm": ">=8.0.0" }, "dependencies": { "@supabase/supabase-js": "^2.38.0", "axios": "^1.6.0", "bcrypt": "^6.0.0", "compression": "^1.8.1", "cookie-parser": "^1.4.7", "cors": "^2.8.5", "dotenv": "^16.5.0", "express": "^5.1.0", "express-rate-limit": "^7.0.0", "firebase-admin": "^13.4.0", "google-auth-library": "^10.1.0", "helmet": "^7.1.0", "joi": "^17.11.0", "jsonwebtoken": "^9.0.2", "mongodb": "^6.17.0", "mongoose": "^8.15.2", "multer": "^2.0.2", "node-cron": "^3.0.3", "nodemailer": "^7.0.3", "nodemon": "^3.1.10", "qrcode": "^1.5.3", "redis": "^5.5.6", "resend": "^4.8.0", "socket.io": "^4.8.1", "swagger-jsdoc": "^6.2.8", "swagger-ui-express": "^4.6.3", "ua-parser-js": "^1.0.41", "winston": "^3.9.0", "xss": "^1.0.14" }, "devDependencies": { "cross-env": "^7.0.3", "eslint": "^8.57.1", "jest": "^29.7.0", "mongodb-memory-server": "^9.1.3", "prettier": "^3.0.0", "redis-mock": "^0.56.3", "supertest": "^6.3.3" } }