UNPKG

bigbasealpha

Version:

Enterprise-Grade NoSQL Database System with Modular Logger & Offline HSM Security - Complete database platform with professional text-based logging, encryption, caching, indexing, JWT authentication, auto-generated REST API, real-time dashboard, and maste

222 lines (193 loc) • 8.62 kB
/** * BigBaseAlpha v1.5.0 - Full Enterprise Setup Example * Complete installation with all enterprise features enabled * * @copyright 2025 ByAlphas. All rights reserved. */ import BigBaseAlpha from '../src/alpha.js'; async function fullEnterpriseSetup() { console.log('šŸš€ BigBaseAlpha v1.5.0 - Full Enterprise Setup'); console.log('=============================================='); console.log('šŸ¢ Complete enterprise features enabled'); console.log('šŸ” Maximum security with HSM integration'); console.log('⚔ All advanced modules activated'); console.log(''); // šŸ”§ Full enterprise configuration const db = new BigBaseAlpha({ path: './enterprise_data', format: 'json', encryption: true, silent: false, // šŸ¢ Enable ALL enterprise modules modules: { // Core security features authentication: true, // JWT + Role-based access hsm: true, // Hardware Security Module (Offline) // API & Integration features apiGateway: true, // API Gateway with rate limiting restAPI: true, // Auto-generated REST endpoints realtimeDashboard: true,// WebSocket-based real-time monitoring graphql: true, // GraphQL API // Advanced features machineLearning: true, // ML/AI capabilities replication: true, // Master-slave replication monitoring: true, // Advanced system monitoring databaseConnectors: true,// External DB integrations eventSourcing: true, // Event sourcing & CQRS blockchain: true, // Blockchain integration streamProcessor: true // Real-time stream processing }, // Authentication configuration auth: { jwtSecret: 'enterprise-secret-key-2025', tokenExpiry: '8h', maxLoginAttempts: 5, enableApiKeys: true, enableRoles: true }, // API configuration api: { port: 3000, enableSwagger: true, enableCors: true, rateLimiting: true }, // Real-time dashboard configuration dashboard: { wsPort: 8080, maxClients: 200, updateInterval: 2000, enableAlerts: true }, // Replication configuration replication: { role: 'master', port: 9000, enableBackup: true }, // HSM Security configuration hsm: { keySize: 256, tamperDetection: true, auditLog: true } }); try { console.log('šŸ“” Initializing BigBaseAlpha Enterprise...'); await db.init(); console.log('āœ… BigBaseAlpha Enterprise initialized successfully!'); console.log(''); // Show enabled services console.log('šŸ”§ Enabled Enterprise Services:'); console.log('─'.repeat(40)); if (db.authManager) console.log('šŸ” Authentication System: āœ… Active'); if (db.hsm) console.log('šŸ”’ HSM Security: āœ… Active (Offline Mode)'); if (db.apiGateway) console.log('🌐 API Gateway: āœ… Active'); if (db.mlEngine) console.log('šŸ¤– Machine Learning: āœ… Active'); if (db.replicationEngine) console.log('šŸ”„ Replication: āœ… Active'); if (db.monitoringEngine) console.log('šŸ“Š Monitoring: āœ… Active'); if (db.blockchain) console.log('ā›“ļø Blockchain: āœ… Active'); if (db.eventSourcing) console.log('šŸ“š Event Sourcing: āœ… Active'); console.log(''); // Create collections with enterprise features console.log('šŸ“š Creating enterprise collections...'); await db.createCollection('users', { schema: { name: { type: 'string', required: true }, email: { type: 'string', required: true, unique: true }, role: { type: 'string', enum: ['admin', 'user', 'manager'] }, department: { type: 'string' }, permissions: { type: 'array' } }, indexes: ['email', 'role', 'department'], auditLog: true }); await db.createCollection('transactions', { schema: { amount: { type: 'number', required: true }, currency: { type: 'string', required: true }, status: { type: 'string', enum: ['pending', 'completed', 'failed'] }, userId: { type: 'string', required: true } }, encryption: true, hsm: true // HSM-secured collection }); console.log('āœ… Enterprise collections created'); console.log(''); // Start enterprise services console.log('šŸš€ Starting enterprise services...'); // Start Authentication (create admin user) if (db.authManager) { const adminUser = await db.authManager.createUser({ username: 'admin', email: 'admin@enterprise.com', password: 'admin123', role: 'admin' }); console.log('šŸ‘‘ Admin user created:', adminUser.username); } // Start REST API if (db.config.modules.restAPI) { await db.startRESTAPI({ port: 3001 }); console.log('🌐 REST API started on port 3001'); } // Start Real-time Dashboard if (db.config.modules.realtimeDashboard) { await db.startRealtimeDashboard({ wsPort: 8080 }); console.log('šŸ“Š Real-time Dashboard started on port 8080'); } // Start Replication if (db.config.modules.replication) { await db.startReplication({ role: 'master', port: 9000 }); console.log('šŸ”„ Replication master started on port 9000'); } console.log(''); console.log('šŸŽ‰ BigBaseAlpha Enterprise is fully operational!'); console.log(''); console.log('šŸ”— Service Endpoints:'); console.log('─'.repeat(40)); console.log('šŸ“– REST API: http://localhost:3001/api/v1/docs'); console.log('šŸ“Š Dashboard: ws://localhost:8080'); console.log('šŸ”„ Replication: tcp://localhost:9000'); console.log('šŸ” Health Check: http://localhost:3001/api/v1/health'); console.log(''); console.log('šŸ” Security Features:'); console.log('─'.repeat(40)); console.log('āœ… HSM Hardware Security (100% Offline)'); console.log('āœ… JWT Authentication & Authorization'); console.log('āœ… Role-based Access Control (RBAC)'); console.log('āœ… API Rate Limiting & CORS'); console.log('āœ… Encrypted data storage'); console.log('āœ… Comprehensive audit logging'); console.log(''); console.log('šŸ’” Enterprise Features:'); console.log('─'.repeat(40)); console.log('⚔ Real-time data synchronization'); console.log('šŸ¤– Machine Learning integration'); console.log('šŸ“Š Advanced monitoring & alerting'); console.log('ā›“ļø Blockchain data integrity'); console.log('šŸ“š Event sourcing & CQRS'); console.log('šŸ”„ High availability replication'); console.log(''); // Keep running for demonstration console.log('ā¹ļø Press Ctrl+C to stop all enterprise services'); // Graceful shutdown process.on('SIGINT', async () => { console.log('\nšŸ›‘ Shutting down BigBaseAlpha Enterprise...'); await db.stopAllServices(); console.log('āœ… All enterprise services stopped'); process.exit(0); }); // Keep alive setInterval(() => { console.log(`ā° Enterprise services running... ${new Date().toISOString()}`); }, 60000); // Log every minute } catch (error) { console.error('āŒ Enterprise setup failed:', error.message); await db.close(); process.exit(1); } } // Run full enterprise setup fullEnterpriseSetup().catch(console.error); export default fullEnterpriseSetup;