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
JavaScript
/**
* 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;