
- 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.
68 lines
1.0 KiB
JSON
68 lines
1.0 KiB
JSON
{
|
|
"name": "emittery",
|
|
"version": "0.13.1",
|
|
"description": "Simple and modern async event emitter",
|
|
"license": "MIT",
|
|
"repository": "sindresorhus/emittery",
|
|
"funding": "https://github.com/sindresorhus/emittery?sponsor=1",
|
|
"author": {
|
|
"name": "Sindre Sorhus",
|
|
"email": "sindresorhus@gmail.com",
|
|
"url": "https://sindresorhus.com"
|
|
},
|
|
"engines": {
|
|
"node": ">=12"
|
|
},
|
|
"scripts": {
|
|
"test": "xo && nyc ava && tsd"
|
|
},
|
|
"files": [
|
|
"index.js",
|
|
"index.d.ts",
|
|
"maps.js"
|
|
],
|
|
"keywords": [
|
|
"event",
|
|
"emitter",
|
|
"eventemitter",
|
|
"events",
|
|
"async",
|
|
"emit",
|
|
"on",
|
|
"once",
|
|
"off",
|
|
"listener",
|
|
"subscribe",
|
|
"unsubscribe",
|
|
"pubsub",
|
|
"tiny",
|
|
"addlistener",
|
|
"addeventlistener",
|
|
"dispatch",
|
|
"dispatcher",
|
|
"observer",
|
|
"trigger",
|
|
"await",
|
|
"promise",
|
|
"typescript",
|
|
"ts",
|
|
"typed"
|
|
],
|
|
"devDependencies": {
|
|
"@types/node": "^15.6.1",
|
|
"ava": "^2.4.0",
|
|
"delay": "^4.3.0",
|
|
"nyc": "^15.0.0",
|
|
"p-event": "^4.1.0",
|
|
"tsd": "^0.19.1",
|
|
"xo": "^0.39.0"
|
|
},
|
|
"nyc": {
|
|
"reporter": [
|
|
"html",
|
|
"lcov",
|
|
"text"
|
|
]
|
|
}
|
|
}
|