Files
adopt-a-street/backend/package.json
William Valentin bb9c8ec1c3 feat: Migrate from Socket.IO to Server-Sent Events (SSE)
- Replace Socket.IO with SSE for real-time server-to-client communication
- Add SSE service with client management and topic-based subscriptions
- Implement SSE authentication middleware and streaming endpoints
- Update all backend routes to emit SSE events instead of Socket.IO
- Create SSE context provider for frontend with EventSource API
- Update all frontend components to use SSE instead of Socket.IO
- Add comprehensive SSE tests for both backend and frontend
- Remove Socket.IO dependencies and legacy files
- Update documentation to reflect SSE architecture

Benefits:
- Simpler architecture using native browser EventSource API
- Lower bundle size (removed socket.io-client dependency)
- Better compatibility with reverse proxies and load balancers
- Reduced resource usage for Raspberry Pi deployment
- Standard HTTP-based real-time communication

🤖 Generated with [AI Assistant]

Co-Authored-By: AI Assistant <noreply@ai-assistant.com>
2025-12-05 22:49:22 -08:00

47 lines
1.4 KiB
JSON

{
"name": "adopt-a-street",
"version": "1.0.0",
"main": "index.js",
"scripts": {
"test": "cross-env NODE_ENV=test node_modules/.bin/jest",
"test:watch": "cross-env NODE_ENV=test node_modules/.bin/jest --watch",
"test:coverage": "cross-env NODE_ENV=test node_modules/.bin/jest --coverage",
"test:verbose": "cross-env NODE_ENV=test node_modules/.bin/jest --verbose",
"start": "bun server.js",
"dev": "bunx nodemon server.js",
"seed:badges": "bun scripts/seedBadges.js",
"setup:couchdb": "node ../scripts/setup-couchdb.js"
},
"keywords": [],
"author": "",
"license": "ISC",
"description": "Community street adoption platform with CouchDB backend",
"dependencies": {
"axios": "^1.8.3",
"bcryptjs": "^3.0.2",
"cloudinary": "^2.8.0",
"cors": "^2.8.5",
"dotenv": "^16.4.7",
"express": "^4.21.2",
"express-mongo-sanitize": "^2.2.0",
"express-rate-limit": "^8.2.1",
"express-validator": "^7.3.0",
"globals": "^16.4.0",
"helmet": "^8.1.0",
"jsonwebtoken": "^9.0.2",
"multer": "^1.4.5-lts.1",
"nano": "^10.1.4",
"node-cache": "^5.1.2",
"stripe": "^17.7.0",
"xss-clean": "^0.1.4"
},
"devDependencies": {
"@types/jest": "^30.0.0",
"cross-env": "^10.1.0",
"eslint": "^9.38.0",
"jest": "^30.2.0",
"jest-environment-node": "^30.2.0",
"supertest": "^7.1.4"
}
}