backend

1. Node.js Basics

What is Node.js?

Key Features


2. Modules in Node.js

Types of Modules

Module Systems


3. NPM (Node Package Manager)

Commands

package.json file manages dependencies and project metadata.


4. Express.js

What is Express?

Basic Setup

const express = require('express');
const app = express();
const PORT = 3000;

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

5. Basic API Structure (CRUD)

const express = require('express');
const app = express();

app.use(express.json()); // middleware to parse JSON

// CREATE
app.post('/items', (req, res) => {
  const item = req.body;
  // logic to save item
  res.status(201).send('Item created');
});

// READ
app.get('/items', (req, res) => {
  res.send(['item1', 'item2']);
});

// UPDATE
app.put('/items/:id', (req, res) => {
  const id = req.params.id;
  res.send(`Item ${id} updated`);
});

// DELETE
app.delete('/items/:id', (req, res) => {
  const id = req.params.id;
  res.send(`Item ${id} deleted`);
});

app.listen(3000);

6. Middleware in Express

What is Middleware?

Types

Example

app.use((req, res, next) => {
  console.log('Time:', Date.now());
  next();
});

7. Routing in Express

app.get('/', (req, res) => {
  res.send('Home');
});

app.get('/about', (req, res) => {
  res.send('About Page');
});

You can also use express.Router() for modular routes.


8. Error Handling

Simple error handler middleware

app.use((err, req, res, next) => {
  console.error(err.stack);
  res.status(500).send('Something broke!');
});

9. Environment Variables

Use .env file

Install dotenv

npm install dotenv

In your entry file:

require('dotenv').config();
const PORT = process.env.PORT;

10. Project Structure (Basic)

project/
|-- node_modules/
|-- routes/
|   |-- itemRoutes.js
|-- controllers/
|   |-- itemController.js
|-- models/
|   |-- itemModel.js
|-- .env
|-- index.js
|-- package.json

This structure is clean and modular, good for scaling.


11. Important Middlewares/Libraries to Know


12. Extra Concepts to Revise


End of One-Shot Notes.