{ "name": "e-learning-backend", "version": "1.0.0", "description": "E-Learning Platform Backend API with TypeScript and TSOA", "main": "dist/server.js", "scripts": { "dev": "nodemon", "build": "npm run tsoa:gen && tsc", "start": "node dist/server.js", "tsoa:gen": "tsoa spec-and-routes && node scripts/post-tsoa.js", "prisma:generate": "prisma generate", "prisma:migrate": "prisma migrate dev", "prisma:seed": "node prisma/seed.js", "prisma:studio": "prisma studio", "test": "jest", "test:watch": "jest --watch", "test:coverage": "jest --coverage", "lint": "eslint . --ext .ts", "format": "prettier --write \"src/**/*.ts\"" }, "dependencies": { "@prisma/client": "^5.22.0", "bcrypt": "^5.1.1", "cors": "^2.8.5", "dotenv": "^16.4.5", "express": "^4.21.2", "express-rate-limit": "^7.5.0", "helmet": "^8.0.0", "joi": "^17.13.3", "jsonwebtoken": "^9.0.2", "minio": "^8.0.2", "multer": "^1.4.5-lts.1", "nodemailer": "^7.0.12", "redis": "^4.7.0", "reflect-metadata": "^0.2.2", "swagger-ui-express": "^5.0.1", "tsoa": "^6.4.0", "winston": "^3.17.0" }, "devDependencies": { "@types/bcrypt": "^5.0.2", "@types/cors": "^2.8.17", "@types/express": "^5.0.0", "@types/jsonwebtoken": "^9.0.7", "@types/multer": "^1.4.12", "@types/node": "^22.10.5", "@types/nodemailer": "^7.0.5", "@types/swagger-ui-express": "^4.1.6", "@typescript-eslint/eslint-plugin": "^8.19.1", "@typescript-eslint/parser": "^8.19.1", "eslint": "^9.18.0", "jest": "^29.7.0", "nodemon": "^3.1.9", "prettier": "^3.4.2", "prisma": "^5.22.0", "supertest": "^7.0.0", "ts-jest": "^29.2.5", "tsconfig-paths": "^4.2.0", "typescript": "^5.7.3" } }