0.1.4 • Published 4 months ago

bb-inspired v0.1.4

Weekly downloads
-
License
MIT
Repository
-
Last release
4 months ago

@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