Now that you’ve built a basic server, let’s take it a step further by adding full CRUD functionality — the foundation of most web apps.
🔁 What is CRUD?
CRUD stands for:
⦁ C reate → Add new data (e.g., new user)
⦁ R ead → Get existing data (e.g., list users)
⦁ U pdate → Modify existing data (e.g., change user name)
⦁ D elete → Remove data (e.g., delete user)
These are the 4 basic operations every back-end should support.
🧪 Let’s Build a CRUD API
We’ll use the same setup as before (Node.js + Express) and simulate a database with an in-memory array.
Step 1: Setup Project (if not already)
npm init -y
npm install express
Step 2: Create server.js
const express = require('express');
const app = express();
const port = 3000;
app.use(express.json()); // Middleware to parse JSON
let users = [
{ id: 1, name: 'Alice'},
{ id: 2, name: 'Bob'}
];
// READ - Get all users
app.get('/users', (req, res) => {
res.json(users);
});
// CREATE - Add a new user
app.post('/users', (req, res) => {
const newUser = {
id: users.length + 1,
name: req.body.name
};
users.push(newUser);
res.status(201).json(newUser);
});
// UPDATE - Modify a user
app.put('/users/:id', (req, res) => {
const userId = parseInt(req.params.id);
const user = users.find(u => u.id === userId);
if (!user) return res.status(404).send('User not found');
user.name = req.body.name;
res.json(user);
});
// DELETE - Remove a user
app.delete('/users/:id', (req, res) => {
const userId = parseInt(req.params.id);
users = users.filter(u => u.id!== userId);
res.sendStatus(204);
});
app.listen(port, () => {
console.log(`CRUD API running at http://localhost:${port}`);
});Step 3: Test Your API
Use tools like Postman or cURL to test:
⦁ GET /users → List users
⦁ POST /users → Add user { "name": "Charlie"}
⦁ PUT /users/1 → Update user 1’s name
⦁ DELETE /users/2 → Delete user 2
🎯 Why This Matters
⦁ CRUD is the backbone of dynamic apps like blogs, e-commerce, social media, and more
⦁ Once you master CRUD, you can connect your app to a real database and build full-stack apps
Next Steps
⦁ Add validation (e.g., check if name is empty)
⦁ Connect to MongoDB or PostgreSQL
⦁ Add authentication (JWT, sessions)
⦁ Deploy your app to the cloud
💡 Pro Tip: Try building a Notes app or a Product Inventory system using CRUD!