{
	"name": "e-conference-backend",
	"version": "1.0.0",
	"description": "E-Conference Platform Backend API",
	"type": "module",
	"main": "dist/index.js",
	"scripts": {
		"dev": "tsx watch src/index.ts",
		"build": "tsc",
		"start": "node dist/index.js",
		"seed": "tsx prisma/seed.ts",
		"seed:conferences": "tsx prisma/seed-conferences.ts",
		"test:smoke": "tsx scripts/load-test.ts --scenario=smoke",
		"test:load": "tsx scripts/load-test.ts --scenario=load",
		"test:stress": "tsx scripts/load-test.ts --scenario=stress",
		"test:spike": "tsx scripts/load-test.ts --scenario=spike",
		"test:rate-limit": "tsx scripts/load-test.ts --scenario=load --with-rate-limit",
		"test:email": "tsx scripts/test-email.ts",
		"db:push": "prisma db push",
		"db:generate": "prisma generate",
		"db:export": "tsx scripts/export-database.ts"
	},
	"keywords": [],
	"author": "",
	"license": "UNLICENSED",
	"private": true,
	"dependencies": {
		"@hookform/resolvers": "^5.5.7",
		"@prisma/adapter-mariadb": "^7.9.1",
		"@prisma/client": "^7.9.1",
		"@types/pdf-parse": "^1.1.5",
		"archiver": "^8.0.0",
		"axios": "^1.19.0",
		"cookie-parser": "^1.4.7",
		"cors": "^2.8.6",
		"date-fns": "^4.4.0",
		"dotenv": "^17.4.2",
		"express": "^5.2.1",
		"express-rate-limit": "^8.6.1",
		"hash-wasm": "^4.12.0",
		"helmet": "^8.3.0",
		"jsonwebtoken": "^9.0.3",
		"lucide-react": "^1.28.0",
		"mariadb": "^3.5.3",
		"midtrans-client": "^1.4.3",
		"motion": "^12.43.0",
		"multer": "^2.2.0",
		"next-intl": "^4.13.5",
		"next-themes": "^0.4.6",
		"node-cron": "^4.6.0",
		"nodemailer": "^9.0.3",
		"passport": "^0.7.0",
		"passport-google-oauth20": "^2.0.0",
		"pdf-parse": "^2.4.5",
		"pdfkit": "^0.20.2",
		"qrcode": "^1.5.4",
		"react-hook-form": "^7.83.0",
		"recharts": "^3.10.1",
		"zod": "^4.4.3"
	},
	"devDependencies": {
		"@types/archiver": "^8.0.0",
		"@types/cookie-parser": "^1.4.10",
		"@types/cors": "^2.8.19",
		"@types/express": "^5.0.6",
		"@types/helmet": "^0.0.48",
		"@types/jsonwebtoken": "^9.0.10",
		"@types/multer": "^2.2.0",
		"@types/node": "^26.1.2",
		"@types/node-cron": "^3.0.11",
		"@types/nodemailer": "^8.0.1",
		"@types/passport": "^1.0.17",
		"@types/passport-google-oauth20": "^2.0.17",
		"@types/pdfkit": "^0.17.6",
		"@types/qrcode": "^1.5.6",
		"prisma": "^7.9.1",
		"tsx": "^4.23.1",
		"typescript": "^7.0.2"
	},
	"prisma": {
		"seed": "tsx prisma/seed.ts"
	}
}
