BEGINNER • Node and Express Starter
Validation and Contract Checkpoint #3
This lesson targets improve observability coverage in a realistic notifications orchestration API workflow. You will practice commands: npm run dev | node server.js | app.get('/route', handler). The code example is specific to backend API engineering tasks for this lesson objective.
Code Example
import express from "express";
const app = express();
app.use(express.json());
app.get("/health", (_req, res) => {
res.status(200).json({
status: "ok",
service: "backend-api-mastery",
objective: "improve observability coverage",
});
});
app.post("/orders/preview", (req, res) => {
const { items = [] } = req.body as { items?: Array<{ qty: number; price: number }> };
const total = items.reduce((sum, item) => sum + item.qty * item.price, 0);
return res.status(200).json({ scenario: "notifications orchestration API", total });
});
app.listen(3000, () => console.log("Run:", "npm run dev"));Commands & References
- npm run dev
- node server.js
- app.get('/route', handler)
Lab Steps
- Prepare environment using: npm run dev
- Implement endpoint or middleware for this scenario.
- Test positive/negative cases and inspect response contracts.
- Document one reliability or security improvement.
Exercises
- Add one edge-case validation and return clear error details.
- Improve one endpoint to be idempotent and test retries.
- Write one test case proving the expected API behavior.