1.1.0 • Published 5 months ago

@saas-platform/shared-database v1.1.0

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

@saas-platform/shared-database

Enhanced multi-tenant database utilities with AWS ElastiCache integration, performance monitoring, and audit trails.

🚀 Features

  • Multi-Tenant Query Builder - Automatic tenant isolation
  • AWS ElastiCache Integration - Redis caching with auto-configuration
  • Performance Monitoring - Query performance tracking and optimization
  • Audit Trail - Complete change tracking for compliance
  • Bulk Operations - Efficient batch processing
  • Read/Write Splitting - Database load balancing
  • Type Safety - Full TypeScript support

📦 Installation

npm install @saas-platform/shared-database

🔧 Quick Start

import { ElastiCacheIntegration } from '@saas-platform/shared-database';

// Auto-configuration from environment variables
const cache = await ElastiCacheIntegration.createOptimizedCache();

// Create tenant-aware query builder
const queryBuilder = await ElastiCacheIntegration.createTenantQueryBuilder(
  db,
  'tenant-123'
);

// Query with automatic caching and tenant isolation
const users = await queryBuilder.findMany(usersTable, {
  where: [eq(usersTable.status, 'active')],
  limit: 100
});

🌍 Environment Configuration

# AWS ElastiCache
AWS_REGION=us-east-1
ELASTICACHE_ENDPOINT=my-cluster.cache.amazonaws.com
ELASTICACHE_AUTH_TOKEN=your-redis-auth-token
ELASTICACHE_TLS_ENABLED=true

# Cache Settings
CACHE_TTL_DEFAULT=300
CACHE_ENABLED=true

🏗️ Development

# Start development environment
docker-compose up -d

# Install dependencies
npm install

# Build library
npm run build

# Run tests
npm test

# Development mode
npm run dev

📊 Performance Monitoring

The library includes built-in performance monitoring:

import { PerformanceTracker } from '@saas-platform/shared-database';

const tracker = new PerformanceTracker();
const slowQueries = tracker.getSlowQueries(1000); // > 1 second
const avgTime = tracker.getAverageQueryTime('users');

🔒 Security & Compliance

  • Automatic tenant isolation prevents data leakage
  • Complete audit trails for compliance requirements
  • Encrypted connections to ElastiCache
  • Input validation and SQL injection prevention

📚 Documentation

See the examples directory for comprehensive usage examples.

🤝 Contributing

  1. Fork the repository
  2. Create your feature branch
  3. Add tests for new functionality
  4. Run the test suite
  5. Submit a pull request

📄 License

MIT License - see LICENSE file for details.