const express = require('express'); const cors = require('cors'); const mongoose = require('mongoose'); require('dotenv').config(); const app = express(); const PORT = process.env.PORT || 5000; // Middleware app.use(cors()); app.use(express.json()); // MongoDB connection const MONGODB_HOST = process.env.MONGODB_HOST || 'mongodb'; const MONGODB_PORT = process.env.MONGODB_PORT || '27017'; const MONGODB_DATABASE = process.env.MONGODB_DATABASE || 'scoffer'; const MONGODB_URI = `mongodb://${MONGODB_HOST}:${MONGODB_PORT}/${MONGODB_DATABASE}`; console.log('Connecting to MongoDB with URI:', MONGODB_URI); mongoose.connect(MONGODB_URI, { useNewUrlParser: true, useUnifiedTopology: true, serverSelectionTimeoutMS: 30000, // 30 seconds connectTimeoutMS: 30000, // 30 seconds socketTimeoutMS: 30000, // 30 seconds }); const db = mongoose.connection; db.on('error', console.error.bind(console, 'MongoDB connection error:')); db.once('open', () => { console.log('Connected to MongoDB'); }); // Routes app.use('/api/recipes', require('./routes/recipes')); app.use('/api/users', require('./routes/users')); app.use('/api/selections', require('./routes/selections')); app.get('/', (req, res) => { res.json({ message: 'Scoffer API is running!' }); }); app.listen(PORT, () => { console.log(`Server is running on port ${PORT}`); });