diff --git a/backend/config/loadEnv.js b/backend/config/loadEnv.js index 8a51352..fd64529 100644 --- a/backend/config/loadEnv.js +++ b/backend/config/loadEnv.js @@ -6,15 +6,58 @@ import dotenv from 'dotenv'; const __filename = fileURLToPath(import.meta.url); const __dirname = path.dirname(__filename); +console.log('๐Ÿ” [loadEnv] Starte Umgebungsvariablen-Loader...'); +console.log('๐Ÿ” [loadEnv] Aktuelles Verzeichnis:', process.cwd()); +console.log('๐Ÿ” [loadEnv] __dirname:', __dirname); + // Resolve backend/.env regardless of cwd const envPath = path.resolve(__dirname, '../.env'); +console.log('๐Ÿ” [loadEnv] .env Pfad:', envPath); + +// Prรผfe ob .env-Datei existiert +import fs from 'fs'; +if (fs.existsSync(envPath)) { + console.log('โœ… [loadEnv] .env-Datei gefunden'); + + // Datei-Inhalt prรผfen (ohne Passwรถrter) + const envContent = fs.readFileSync(envPath, 'utf8'); + const envLines = envContent.split('\n').filter(line => line.trim() && !line.startsWith('#')); + console.log('๐Ÿ“„ [loadEnv] .env-Datei enthรคlt', envLines.length, 'Variablen'); + + // Zeige Variablen-Namen (ohne Werte) + envLines.forEach(line => { + const [key] = line.split('='); + if (key) { + console.log(' ๐Ÿ“‹', key.trim()); + } + }); +} else { + console.log('โŒ [loadEnv] .env-Datei nicht gefunden!'); +} + +// Lade .env-Datei const result = dotenv.config({ path: envPath }); if (result.error) { - console.warn('[env] Konnte .env nicht laden:', result.error.message); + console.error('โŒ [loadEnv] Fehler beim Laden der .env-Datei:', result.error.message); } else { + console.log('โœ… [loadEnv] .env-Datei erfolgreich geladen'); + + // Prรผfe wichtige Umgebungsvariablen + console.log('๐Ÿ” [loadEnv] Wichtige Umgebungsvariablen:'); + console.log(' DB_HOST:', process.env.DB_HOST); + console.log(' DB_USER:', process.env.DB_USER); + console.log(' DB_PASS:', process.env.DB_PASS ? '***' : 'undefined'); + console.log(' DB_NAME:', process.env.DB_NAME); + console.log(' DB_PORT:', process.env.DB_PORT); + console.log(' NODE_ENV:', process.env.NODE_ENV); + console.log(' PORT:', process.env.PORT); + if (!process.env.SECRET_KEY) { - console.warn('[env] SECRET_KEY nicht gesetzt in .env'); + console.warn('โš ๏ธ [loadEnv] SECRET_KEY nicht gesetzt in .env'); + } else { + console.log('โœ… [loadEnv] SECRET_KEY ist gesetzt'); } } +console.log('๐Ÿ” [loadEnv] Umgebungsvariablen-Loader abgeschlossen'); export {}; diff --git a/backend/server.js b/backend/server.js index ad13f37..36009d8 100644 --- a/backend/server.js +++ b/backend/server.js @@ -1,18 +1,45 @@ +console.log('๐Ÿš€ [server] Starte YourPart Backend Server...'); +console.log('๐Ÿ” [server] Aktuelles Verzeichnis:', process.cwd()); +console.log('๐Ÿ” [server] Node.js Version:', process.version); +console.log('๐Ÿ” [server] Platform:', process.platform); + import './config/loadEnv.js'; // .env deterministisch laden +console.log('โœ… [server] loadEnv.js geladen'); + import http from 'http'; import app from './app.js'; import { setupWebSocket } from './utils/socket.js'; import { syncDatabase } from './utils/syncDatabase.js'; +console.log('๐Ÿ” [server] Alle Module geladen'); + +// Prรผfe Umgebungsvariablen nach loadEnv +console.log('๐Ÿ” [server] Umgebungsvariablen nach loadEnv:'); +console.log(' DB_HOST:', process.env.DB_HOST); +console.log(' DB_USER:', process.env.DB_USER); +console.log(' DB_PASS:', process.env.DB_PASS ? '***' : 'undefined'); +console.log(' DB_NAME:', process.env.DB_NAME); +console.log(' DB_PORT:', process.env.DB_PORT); +console.log(' NODE_ENV:', process.env.NODE_ENV); +console.log(' PORT:', process.env.PORT); + const server = http.createServer(app); +console.log('โœ… [server] HTTP-Server erstellt'); setupWebSocket(server); +console.log('โœ… [server] WebSocket-Setup abgeschlossen'); +console.log('๐Ÿ” [server] Starte Datenbank-Synchronisation...'); syncDatabase().then(() => { - server.listen(3001, () => { - console.log('Server is running on port 3001'); + console.log('โœ… [server] Datenbank-Synchronisation erfolgreich'); + + const port = process.env.PORT || 3001; + server.listen(port, () => { + console.log('๐Ÿš€ [server] Server lรคuft auf Port', port); + console.log('๐ŸŒ [server] Server bereit fรผr Anfragen'); }); }).catch(err => { - console.error('Failed to sync database:', err); + console.error('โŒ [server] Datenbank-Synchronisation fehlgeschlagen:', err); + console.error('โŒ [server] Stack Trace:', err.stack); process.exit(1); });