import express from 'express'; import mongoose from 'mongoose'; import cors from 'cors'; import dotenv from 'dotenv'; import authRoutes from './routes/auth.js'; import todoRoutes from './routes/todos.js'; import { authenticateToken } from './middleware/auth.js'; dotenv.config(); const app = express(); const PORT = process.env.PORT || 5000; // Middleware app.use(cors()); app.use(express.json()); // Root route app.get('/', (req, res) => { res.json({ message: 'Todo App Backend API is running!' }); }); // Routes app.use('/api/auth', authRoutes); app.use('/api/todos', authenticateToken, todoRoutes); // Error handling middleware app.use((err, req, res, next) => { console.error('Error:', err); res.status(500).json({ message: 'Internal server error', error: err.message }); }); // MongoDB connection mongoose.connect(process.env.MONGO_URL) .then(() => { console.log('✅ Connected to MongoDB'); console.log('Database:', process.env.MONGO_URL); }) .catch((err) => { console.error('❌ MongoDB connection error:', err.message); console.log('Make sure MongoDB is running on your system'); process.exit(1); }); app.listen(PORT, () => { console.log(`🚀 Server running on port ${PORT}`); });