81 lines
2.7 KiB
JSON
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"
|
|
}
|
|
}
|