bb-inspired v0.1.4
@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
npm install bb-inspired
Usage
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:
License
MIT