Files
cim_summary/backend/package.json
Jon 5a3c961bfc feat: Complete implementation of Tasks 1-5 - CIM Document Processor
Backend Infrastructure:
- Complete Express server setup with security middleware (helmet, CORS, rate limiting)
- Comprehensive error handling and logging with Winston
- Authentication system with JWT tokens and session management
- Database models and migrations for Users, Documents, Feedback, and Processing Jobs
- API routes structure for authentication and document management
- Integration tests for all server components (86 tests passing)

Frontend Infrastructure:
- React application with TypeScript and Vite
- Authentication UI with login form, protected routes, and logout functionality
- Authentication context with proper async state management
- Component tests with proper async handling (25 tests passing)
- Tailwind CSS styling and responsive design

Key Features:
- User registration, login, and authentication
- Protected routes with role-based access control
- Comprehensive error handling and user feedback
- Database schema with proper relationships
- Security middleware and validation
- Production-ready build configuration

Test Coverage: 111/111 tests passing
Tasks Completed: 1-5 (Project setup, Database, Auth system, Frontend UI, Backend infrastructure)

Ready for Task 6: File upload backend infrastructure
2025-07-27 13:29:26 -04:00

58 lines
1.7 KiB
JSON

{
"name": "cim-processor-backend",
"version": "1.0.0",
"description": "Backend API for CIM Document Processor",
"main": "dist/index.js",
"scripts": {
"dev": "ts-node-dev --respawn --transpile-only src/index.ts",
"build": "tsc",
"start": "node dist/index.js",
"test": "jest --passWithNoTests",
"test:watch": "jest --watch --passWithNoTests",
"lint": "eslint src --ext .ts",
"lint:fix": "eslint src --ext .ts --fix",
"db:migrate": "ts-node src/scripts/setup-database.ts",
"db:seed": "ts-node src/models/seed.ts",
"db:setup": "npm run db:migrate"
},
"dependencies": {
"express": "^4.18.2",
"cors": "^2.8.5",
"helmet": "^7.1.0",
"morgan": "^1.10.0",
"dotenv": "^16.3.1",
"bcryptjs": "^2.4.3",
"jsonwebtoken": "^9.0.2",
"multer": "^1.4.5-lts.1",
"pg": "^8.11.3",
"redis": "^4.6.10",
"bull": "^4.12.0",
"pdf-parse": "^1.1.1",
"puppeteer": "^21.5.2",
"winston": "^3.11.0",
"joi": "^17.11.0",
"express-rate-limit": "^7.1.5",
"express-validator": "^7.0.1"
},
"devDependencies": {
"@types/express": "^4.17.21",
"@types/cors": "^2.8.17",
"@types/morgan": "^1.9.9",
"@types/bcryptjs": "^2.4.6",
"@types/jsonwebtoken": "^9.0.5",
"@types/multer": "^1.4.11",
"@types/pg": "^8.10.7",
"@types/pdf-parse": "^1.1.4",
"@types/node": "^20.9.0",
"@types/jest": "^29.5.8",
"@typescript-eslint/eslint-plugin": "^6.10.0",
"@typescript-eslint/parser": "^6.10.0",
"eslint": "^8.53.0",
"jest": "^29.7.0",
"ts-jest": "^29.1.1",
"ts-node-dev": "^2.0.0",
"typescript": "^5.2.2",
"supertest": "^6.3.3",
"@types/supertest": "^2.0.16"
}
}