UNPKG

bb-inspired

Version:

Core library for BB-inspired NestJS backend

103 lines (78 loc) 3.15 kB
# @odoo-inspired/core-lib A comprehensive core library for NestJS backend applications, providing reusable components, utilities, and services to support enterprise-grade application development with a focus on security, flexibility, and scalability. ## Features - **Auth Module**: JWT-based authentication and authorization with WebSocket support - **WebSocket Module**: Real-time communication with JWT-authorized channels and role-based access control - **Data Transfer Module**: Export/import functionality with multiple formats (JSON, CSV, XML) and encryption - **Database Services**: Prisma and MongoDB integration with transaction support - **Common Utilities**: Reusable helpers, loggers, and utilities - **Decorators**: Custom decorators for API endpoints and validations - **Filters**: Exception filters for standardized error handling - **Guards**: Custom guards for request validation and authorization - **Interfaces**: TypeScript interfaces for data modeling - **Pipes**: Transform and validation pipes - **Messaging Services**: Event-driven architecture support with message brokers ## Installation ```bash npm install bb-inspired ``` ## Usage ```typescript import { Module } from '@nestjs/common'; import { AuthModule, WebsocketModule, DataTransferModule } from 'bb-inspired'; @Module({ imports: [ // Authentication with JWT support AuthModule.register({ jwt: { secret: process.env.JWT_SECRET, expiresIn: '1d', } }), // WebSocket with JWT-authorized channels WebsocketModule.register({ cors: { origin: ['https://your-domain.com'], credentials: true }, auth: { required: true } }), // Data transfer functionality DataTransferModule.register({ basePath: './data/exports', defaultFormat: 'json', encryption: { algorithm: 'aes-256-cbc', secretKey: process.env.DATA_ENCRYPTION_KEY }, global: true }) ], }) export class AppModule {} ``` ## Core Components Overview ### Authentication & Security The Auth Module provides a comprehensive JWT-based authentication system with WebSocket support, refresh tokens, and integration with external auth services. ### Real-time Communication The WebSocket Module delivers secure real-time communication with JWT authentication, role-based channel authorization, and fine-grained permission control. ### Data Management The Data Transfer Module offers flexible data export/import capabilities with support for multiple formats, encryption, and various storage options. ### Messaging & Events The Messaging Services facilitate event-driven architecture with support for both in-memory and distributed message brokers. ## Documentation For detailed information about each module and its configuration options, check out the following sections: - [Auth Module](./docs/auth.md) - [WebSocket Module](./docs/websocket.md) - [Data Transfer Module](./docs/data-transfer.md) - [Database Module](./docs/database.md) - [Messaging Services](./docs/messaging.md) - [Common Utilities](./docs/common.md) ## License MIT