ajinkya-mhetre-mern
Version:
A MERN starter with frontend and backend folders
42 lines (33 loc) • 962 B
JavaScript
// ===== server.js =====
const express = require('express');
const http = require('http');
const socketIo = require('socket.io');
const dotenv = require('dotenv');
const connectDB = require('./src/config/database');
const app = require('./src/app');
dotenv.config();
// Connect to database
connectDB();
const server = http.createServer(app);
const io = socketIo(server, {
cors: {
origin: process.env.CLIENT_URL,
methods: ["GET", "POST"]
}
});
// Socket.IO for real-time order tracking
io.on('connection', (socket) => {
console.log('User connected:', socket.id);
socket.on('join-room', (userId) => {
socket.join(userId);
});
socket.on('disconnect', () => {
console.log('User disconnected:', socket.id);
});
});
// Make io accessible to routes
app.set('socketio', io);
const PORT = process.env.PORT;
server.listen(PORT, () => {
console.log(`Server running on port ${PORT}`);
});