- Replace Express 4 backend with Express 5 + Mongoose 8 + TypeScript 5.8 - Add MongoDB 8.0 container via docker-compose - Add JWT auth (jose), argon2 password hashing, zod validation, multer uploads - Models: BoardMember, Event, GalleryItem, Sponsor, Minute, Member, User - Full CRUD REST API for all content types - Seed script to populate MongoDB from hardcoded data - Wire all frontend components to fetch from API (no JSX changes) - Add /manage dashboard: login + tabs for Board, Events, Gallery, Sponsors, Minutes, Members - Uploads volume for persistent file storage across deploys
34 lines
752 B
JSON
34 lines
752 B
JSON
{
|
|
"name": "mcdi-website-server",
|
|
"version": "2.0.0",
|
|
"private": true,
|
|
"engines": {
|
|
"node": ">=22.0.0"
|
|
},
|
|
"scripts": {
|
|
"start": "node dist/index.js",
|
|
"dev": "tsx watch src/index.ts",
|
|
"build": "tsc",
|
|
"seed": "tsx src/seed.ts"
|
|
},
|
|
"dependencies": {
|
|
"argon2": "^0.43.0",
|
|
"cors": "^2.8.5",
|
|
"dotenv": "^16.5.0",
|
|
"express": "^5.1.0",
|
|
"jose": "^5.10.0",
|
|
"mongoose": "^8.13.0",
|
|
"multer": "^1.4.5-lts.1",
|
|
"nodemailer": "^6.9.16",
|
|
"zod": "^3.24.2"
|
|
},
|
|
"devDependencies": {
|
|
"@types/cors": "^2.8.17",
|
|
"@types/express": "^5.0.1",
|
|
"@types/multer": "^1.4.12",
|
|
"@types/node": "^22.15.0",
|
|
"@types/nodemailer": "^6.4.17",
|
|
"tsx": "^4.19.3",
|
|
"typescript": "^5.8.3"
|
|
}
|
|
}
|