
- 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.
62 lines
1.5 KiB
Python
62 lines
1.5 KiB
Python
{
|
|
"variables": {
|
|
"NODE_VERSION%":"<!(node -p \"process.versions.node.split(\\\".\\\")[0]\")"
|
|
},
|
|
'targets': [
|
|
{
|
|
'target_name': 'bcrypt_lib',
|
|
'sources': [
|
|
'src/blowfish.cc',
|
|
'src/bcrypt.cc',
|
|
'src/bcrypt_node.cc'
|
|
],
|
|
'defines': [
|
|
'_GNU_SOURCE',
|
|
],
|
|
'cflags!': [ '-fno-exceptions' ],
|
|
'cflags_cc!': [ '-fno-exceptions' ],
|
|
'include_dirs' : [
|
|
"<!@(node -p \"require('node-addon-api').include\")"
|
|
],
|
|
'dependencies': ["<!(node -p \"require('node-addon-api').gyp\")"],
|
|
'conditions': [
|
|
['OS=="win"', {
|
|
"msvs_settings": {
|
|
"VCCLCompilerTool": {
|
|
"ExceptionHandling": 1
|
|
}
|
|
},
|
|
'defines': [
|
|
'uint=unsigned int',
|
|
]
|
|
}],
|
|
['OS=="mac"', {
|
|
'cflags+': ['-fvisibility=hidden'],
|
|
"xcode_settings": {
|
|
"CLANG_CXX_LIBRARY": "libc++",
|
|
'GCC_ENABLE_CPP_EXCEPTIONS': 'YES',
|
|
'GCC_SYMBOLS_PRIVATE_EXTERN': 'YES', # -fvisibility=hidden
|
|
}
|
|
}],
|
|
['OS=="zos" and NODE_VERSION <= 16',{
|
|
'cflags': [
|
|
'-qascii',
|
|
],
|
|
'defines': ["NAPI_DISABLE_CPP_EXCEPTIONS"],
|
|
}],
|
|
],
|
|
},
|
|
{
|
|
"target_name": "action_after_build",
|
|
"type": "none",
|
|
"dependencies": [ "<(module_name)" ],
|
|
"copies": [
|
|
{
|
|
"files": [ "<(PRODUCT_DIR)/<(module_name).node" ],
|
|
"destination": "<(module_path)"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|