⚙️ Backend Setup

⚙️ Initialize Backend & Install Dependencies

💻 Run these commands in your terminal

cd MERN-project
mkdir backend
cd backend
npm init -y
npm install express mongoose dotenv cors
npm install --save-dev nodemon

[!info] 📦 Packages Explained

🏗️ Create Project Structure & Starter File

touch server.js .env mkdir models controllers routes middlewares utils db`

📝 server.js (template)

const express = require('express');
const mongoose = require('mongoose');
const cors = require('cors');
require('dotenv').config();

const app = express();
app.use(express.json());
app.use(cors());

const PORT = process.env.PORT || 5000;

mongoose.connect(process.env.MONGO_URI, { useNewUrlParser: true, useUnifiedTopology: true })
.then(() => console.log('✅ MongoDB Connected'))
.catch(err => console.log('❌ MongoDB Error:', err));

app.get('/api', (req, res) => res.send('API Running'));

app.listen(PORT, () => console.log(🚀 Server running on port ${PORT}));

[!note] 🔑 Tip
Store sensitive info (like MONGO_URI) in .env.
Example:

Create Project Structure & Server Starter File:

touch server.js .env
mkdir models controllers routes middlewares utils db

server.js (template):

const express = require('express');
const mongoose = require('mongoose');
const cors = require('cors');
require('dotenv').config();

const app = express();
app.use(express.json());
app.use(cors());

const PORT = process.env.PORT || 5000;

mongoose.connect(process.env.MONGO_URI, { useNewUrlParser: true, useUnifiedTopology: true })
.then(() => console.log('MongoDB Connected'))
.catch(err => console.log(err));

app.get('/api', (req, res) => res.send('API Running'));

app.listen(PORT, () => console.log(Server running on port ${PORT}));