require('dotenv').config(); const express = require('express'); const mongoose = require('mongoose'); const cors = require('cors'); const path = require('path'); const app = express(); // Middleware app.use(cors()); app.use(express.json()); app.use(express.static(path.join(__dirname, '../client/dist'))); // Database connection mongoose.connect(process.env.MONGODB_URI, { useNewUrlParser: true, useUnifiedTopology: true }) .then(() => console.log('Connected to MongoDB')) .catch(err => console.error('MongoDB connection error:', err)); // Routes const { router: authRoutes, auth } = require('./routes/auth'); const courseRoutes = require('./routes/courses'); const userRoutes = require('./routes/users'); app.use('/api/auth', authRoutes); app.use('/api/courses', courseRoutes); app.use('/api/users', userRoutes); // Serve client app.get('*', (req, res) => { res.sendFile(path.join(__dirname, '../client/dist/index.html')); }); const PORT = process.env.PORT || 5000; app.listen(PORT, () => { console.log(`Server running on port ${PORT}`); });