
- 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.
Firebase Admin Node.js SDK
Table of Contents
Overview
Firebase provides the tools and infrastructure you need to develop your app, grow your user base, and earn money. The Firebase Admin Node.js SDK enables access to Firebase services from privileged environments (such as servers or cloud) in Node.js.
For more information, visit the Firebase Admin SDK setup guide.
Installation
The Firebase Admin Node.js SDK is available on npm as firebase-admin
:
$ npm install --save firebase-admin
To use the module in your application, require
it from any JavaScript file:
const { initializeApp } = require("firebase-admin/app");
initializeApp();
If you are using ES2015, you can import
the module instead:
import { initializeApp } from "firebase-admin/app";
initializeApp();
Contributing
Please refer to the CONTRIBUTING page for more information about how you can contribute to this project. We welcome bug reports, feature requests, code review feedback, and also pull requests.
Supported Environments
We support Node.js 14 and higher.
Please also note that the Admin SDK should only be used in server-side/back-end environments controlled by the app developer. This includes most server and serverless platforms (both on-premise and in the cloud). It is not recommended to use the Admin SDK in client-side environments.
Documentation
Acknowledgments
Thanks to the team at Casetext for transferring
ownership of the firebase-admin
npm module over to the Firebase team
and for their longtime use and support of the Firebase platform.
License
Firebase Admin Node.js SDK is licensed under the Apache License, version 2.0.
Your use of Firebase is governed by the Terms of Service for Firebase Services.