/**
* BFAPI Configuration
*
* Centralized configuration management for BFAPI
*/
export const config = {
// Server configuration
PORT: process.env.PORT || 3000,
NODE_ENV: process.env.NODE_ENV || 'development',
// API rate limiting
RATE_LIMIT: {
WINDOW_MS: 15 * 60 * 1000, // 15 minutes
MAX_REQUESTS: 100,
},
// JWT configuration
JWT: {
SECRET: process.env.JWT_SECRET || 'development-secret-key',
EXPIRES_IN: process.env.JWT_EXPIRES_IN || '1d',
},
// Logging
LOG_LEVEL: process.env.LOG_LEVEL || 'info',
// CORS
CORS_ORIGINS: process.env.CORS_ORIGINS ? process.env.CORS_ORIGINS.split(',') : ['*'],
// BFMODEL integration
MODEL_API: {
URL: process.env.MODEL_API_URL || 'http://localhost:5000',
KEY: process.env.MODEL_API_KEY || 'development-key',
TIMEOUT: parseInt(process.env.MODEL_API_TIMEOUT || '30000', 10),
},
// Feature flags
FEATURES: {
AI_SUGGESTIONS: process.env.FEATURE_AI_SUGGESTIONS === 'true',
ADVANCED_ANALYTICS: process.env.FEATURE_ADVANCED_ANALYTICS === 'true',
MODEL_TRAINING: process.env.FEATURE_MODEL_TRAINING === 'true',
},
// Cache configuration
CACHE: {
TTL: parseInt(process.env.CACHE_TTL || '300', 10), // 5 minutes in seconds
MAX_SIZE: parseInt(process.env.CACHE_MAX_SIZE || '100', 10), // Max items in cache
},
};
export default config;