
- Complete NestJS TypeScript implementation with WebSocket support - Direct messaging (DM) and group chat functionality - End-to-end encryption with AES encryption and key pairs - Media file support (images, videos, audio, documents) up to 100MB - Push notifications with Firebase Cloud Messaging integration - Mention alerts and real-time typing indicators - User authentication with JWT and Passport - SQLite database with TypeORM entities and relationships - Comprehensive API documentation with Swagger/OpenAPI - File upload handling with secure access control - Online/offline status tracking and presence management - Message editing, deletion, and reply functionality - Notification management with automatic cleanup - Health check endpoint for monitoring - CORS configuration for cross-origin requests - Environment-based configuration management - Structured for Flutter SDK integration Features implemented: ✅ Real-time messaging with Socket.IO ✅ User registration and authentication ✅ Direct messages and group chats ✅ Media file uploads and management ✅ End-to-end encryption ✅ Push notifications ✅ Mention alerts ✅ Typing indicators ✅ Message read receipts ✅ Online status tracking ✅ File access control ✅ Comprehensive API documentation Ready for Flutter SDK development and production deployment.
56 lines
1.1 KiB
JSON
56 lines
1.1 KiB
JSON
{
|
|
"name": "async-retry",
|
|
"version": "1.3.3",
|
|
"description": "Retrying made simple, easy and async",
|
|
"main": "./lib/index.js",
|
|
"scripts": {
|
|
"test": "yarn run test-lint && yarn run test-unit",
|
|
"test-lint": "eslint .",
|
|
"test-unit": "ava",
|
|
"lint:staged": "lint-staged"
|
|
},
|
|
"files": [
|
|
"lib"
|
|
],
|
|
"license": "MIT",
|
|
"repository": "vercel/async-retry",
|
|
"ava": {
|
|
"failFast": true
|
|
},
|
|
"dependencies": {
|
|
"retry": "0.13.1"
|
|
},
|
|
"pre-commit": "lint:staged",
|
|
"lint-staged": {
|
|
"*.js": [
|
|
"eslint",
|
|
"prettier --write --single-quote",
|
|
"git add"
|
|
]
|
|
},
|
|
"eslintConfig": {
|
|
"extends": [
|
|
"airbnb",
|
|
"prettier"
|
|
],
|
|
"rules": {
|
|
"no-var": 0,
|
|
"prefer-arrow-callback": 0
|
|
}
|
|
},
|
|
"devDependencies": {
|
|
"ava": "3.15.0",
|
|
"eslint": "7.32.0",
|
|
"eslint-config-airbnb": "18.2.1",
|
|
"eslint-config-prettier": "8.3.0",
|
|
"eslint-plugin-import": "2.24.0",
|
|
"eslint-plugin-jsx-a11y": "6.4.1",
|
|
"eslint-plugin-react": "7.24.0",
|
|
"lint-staged": "11.1.2",
|
|
"node-fetch": "2.6.1",
|
|
"pre-commit": "1.2.2",
|
|
"prettier": "2.3.2",
|
|
"then-sleep": "1.0.1"
|
|
}
|
|
}
|