Frontend: - Replace Next.js with Vite + React + TypeScript - Add new component architecture (app-shell, sidebar, dashboard modules) - Implement product modules: FRAME, safety protocols, walkthrough checkin, campus/staff attendance, personality quiz, sign language, classroom timer - Add shadcn/ui component library with Tailwind CSS - Remove legacy generated components, stores, and pages Backend: - Add product migrations: frame_entries, user_progress, safety_quiz_results, walkthrough_checkins, communication_events, personality_quiz_results, campus_attendance_config/summaries, staff_attendance_records, content_catalog - Add corresponding models, services, and routes - Implement cookie-based auth with refresh token rotation - Add content catalog seeder with product content - Migrate to ESLint flat config - Switch from yarn to npm Infrastructure: - Update .gitignore for new tooling - Add project documentation (CLAUDE.md, docs/) - Remove deprecated config files and yarn.lock Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
59 lines
1.5 KiB
JSON
59 lines
1.5 KiB
JSON
{
|
|
"name": "schoolchainmanager",
|
|
"description": "School Chain Manager - template backend",
|
|
"scripts": {
|
|
"start": "npm run db:migrate && npm run db:seed && npm run watch",
|
|
"lint": "eslint .",
|
|
"db:migrate": "sequelize-cli db:migrate",
|
|
"db:seed": "sequelize-cli db:seed:all",
|
|
"db:drop": "sequelize-cli db:drop",
|
|
"db:create": "sequelize-cli db:create",
|
|
"watch": "node watcher.js"
|
|
},
|
|
"dependencies": {
|
|
"@google-cloud/storage": "^7.19.0",
|
|
"axios": "^1.17.0",
|
|
"bcrypt": "6.0.0",
|
|
"chokidar": "^5.0.0",
|
|
"cors": "2.8.6",
|
|
"csv-parser": "^3.2.1",
|
|
"express": "5.2.1",
|
|
"formidable": "3.5.4",
|
|
"helmet": "8.2.0",
|
|
"json2csv": "^5.0.7",
|
|
"jsonwebtoken": "9.0.3",
|
|
"lodash": "4.18.1",
|
|
"moment": "2.30.1",
|
|
"multer": "^2.1.1",
|
|
"mysql2": "3.22.5",
|
|
"nodemailer": "8.0.10",
|
|
"passport": "^0.7.0",
|
|
"passport-google-oauth2": "^0.2.0",
|
|
"passport-jwt": "^4.0.1",
|
|
"passport-microsoft": "^2.1.0",
|
|
"pg": "8.21.0",
|
|
"pg-hstore": "2.3.4",
|
|
"sequelize": "6.37.8",
|
|
"sequelize-json-schema": "^2.1.1",
|
|
"sqlite": "5.1.1",
|
|
"swagger-jsdoc": "^6.3.0",
|
|
"swagger-ui-express": "^5.0.1",
|
|
"tedious": "^19.2.1"
|
|
},
|
|
"engines": {
|
|
"node": ">=18"
|
|
},
|
|
"overrides": {
|
|
"uuid": "^11.1.1"
|
|
},
|
|
"private": true,
|
|
"devDependencies": {
|
|
"@eslint/js": "^10.0.1",
|
|
"cross-env": "10.1.0",
|
|
"eslint": "^10.4.1",
|
|
"eslint-plugin-import-x": "^4.16.2",
|
|
"nodemon": "3.1.14",
|
|
"sequelize-cli": "6.6.5"
|
|
}
|
|
}
|