Files
Tasks/backend/package.json
2025-11-12 23:06:27 +02:00

81 lines
2.7 KiB
JSON

{
"name": "interview-quiz-backend",
"version": "2.0.0",
"description": "Technical Interview Quiz Application - MySQL Edition",
"main": "server.js",
"scripts": {
"start": "node server.js",
"dev": "nodemon server.js",
"test": "jest --coverage",
"test:watch": "jest --watch",
"test:db": "node test-db-connection.js",
"test:user": "node test-user-model.js",
"test:category": "node test-category-model.js",
"test:question": "node test-question-model.js",
"test:guest": "node test-guest-session-model.js",
"test:quiz": "node test-quiz-session-model.js",
"test:junction": "node test-junction-tables.js",
"test:auth": "node test-auth-endpoints.js",
"test:logout": "node test-logout-verify.js",
"test:guest-api": "node test-guest-endpoints.js",
"test:guest-limit": "node test-guest-quiz-limit.js",
"test:guest-convert": "node test-guest-conversion.js",
"test:categories": "node test-category-endpoints.js",
"test:category-details": "node test-category-details.js",
"test:category-admin": "node test-category-admin.js",
"test:questions-by-category": "node test-questions-by-category.js",
"test:question-by-id": "node test-question-by-id.js",
"test:question-search": "node test-question-search.js",
"test:create-question": "node test-create-question.js",
"test:update-delete-question": "node test-update-delete-question.js",
"test:start-quiz": "node test-start-quiz.js",
"validate:env": "node validate-env.js",
"generate:jwt": "node generate-jwt-secret.js",
"migrate": "npx sequelize-cli db:migrate",
"migrate:undo": "npx sequelize-cli db:migrate:undo",
"migrate:status": "npx sequelize-cli db:migrate:status",
"seed": "npx sequelize-cli db:seed:all",
"seed:undo": "npx sequelize-cli db:seed:undo:all"
},
"keywords": [
"quiz",
"interview",
"mysql",
"sequelize",
"express",
"nodejs"
],
"author": "",
"license": "ISC",
"dependencies": {
"axios": "^1.13.2",
"bcrypt": "^5.1.1",
"cors": "^2.8.5",
"dotenv": "^16.3.1",
"express": "^4.18.2",
"express-mongo-sanitize": "^2.2.0",
"express-rate-limit": "^7.1.5",
"express-validator": "^7.0.1",
"express-winston": "^4.2.0",
"helmet": "^7.1.0",
"hpp": "^0.2.3",
"ioredis": "^5.8.2",
"jsonwebtoken": "^9.0.2",
"morgan": "^1.10.0",
"mysql2": "^3.6.5",
"sequelize": "^6.35.0",
"swagger-jsdoc": "^6.2.8",
"swagger-ui-express": "^5.0.1",
"uuid": "^9.0.1",
"winston": "^3.18.3",
"winston-daily-rotate-file": "^5.0.0",
"xss-clean": "^0.1.4"
},
"devDependencies": {
"jest": "^29.7.0",
"nodemon": "^3.0.2",
"sequelize-cli": "^6.6.2",
"supertest": "^6.3.3"
}
}