86211923db
Repository Interface Optimization: - Created IBaseRepository.ts and IPaginatedRepository.ts - Refactored all 7 repository interfaces to extend base interfaces - Eliminated ~200 lines of redundant code (70% reduction) - Improved type safety and maintainability Dependency Injection Improvements: - Added EmailService and GameTokenService to DIContainer - Updated CreateUserCommandHandler constructor for DI - Updated RequestPasswordResetCommandHandler constructor for DI - Enhanced testability and service consistency Environment Configuration: - Created comprehensive .env.example with 40+ variables - Organized into 12 logical sections (Database, Security, Email, etc.) - Added security guidelines and best practices - Documented all backend environment requirements Documentation: - Added comprehensive codebase review - Created refactoring summary report - Added frontend implementation guide Impact: Improved code quality, reduced maintenance overhead, enhanced developer experience
45 lines
1.1 KiB
Bash
45 lines
1.1 KiB
Bash
# ==============================================
|
|
# SerpentRace Backend Environment Configuration
|
|
# ==============================================
|
|
# Copy this file to .env and fill in your values
|
|
|
|
# APPLICATION CONFIGURATION
|
|
NODE_ENV=development
|
|
PORT=3000
|
|
APP_BASE_URL=http://localhost:3000
|
|
|
|
# DATABASE CONFIGURATION (PostgreSQL)
|
|
DB_HOST=localhost
|
|
DB_PORT=5432
|
|
DB_NAME=serpentrace
|
|
DB_USERNAME=postgres
|
|
DB_PASSWORD=your_db_password
|
|
|
|
# REDIS CONFIGURATION
|
|
REDIS_HOST=localhost
|
|
REDIS_PORT=6379
|
|
REDIS_URL=redis://localhost:6379
|
|
|
|
# JWT CONFIGURATION
|
|
JWT_SECRET=your_super_secret_jwt_key_change_in_production
|
|
JWT_EXPIRY=86400
|
|
JWT_EXPIRATION=24h
|
|
GAME_TOKEN_EXPIRY=86400
|
|
|
|
# EMAIL SERVICE CONFIGURATION
|
|
EMAIL_HOST=smtp.gmail.com
|
|
EMAIL_PORT=587
|
|
EMAIL_USER=your_email@domain.com
|
|
EMAIL_PASS=your_email_password
|
|
EMAIL_FROM=noreply@serpentrace.com
|
|
|
|
# CHAT SYSTEM CONFIGURATION
|
|
CHAT_INACTIVITY_TIMEOUT_MINUTES=30
|
|
CHAT_MAX_MESSAGES_PER_USER=100
|
|
CHAT_MESSAGE_CLEANUP_WEEKS=4
|
|
|
|
# GAME CONFIGURATION
|
|
MAX_SPECIAL_FIELDS_PERCENTAGE=67
|
|
MAX_GENERATION_TIME_SECONDS=20
|
|
GENERATION_ERROR_TOLERANCE=15
|