1.1.0 • Published 5 months ago
@saas-platform/shared-database v1.1.0
@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
- Fork the repository
- Create your feature branch
- Add tests for new functionality
- Run the test suite
- Submit a pull request
📄 License
MIT License - see LICENSE file for details.
1.1.0
5 months ago