- Introduction to Docker
- Introduction to Kubernetes
- Docker & Kubernetes Tools
- AWS Node-Lambda
- Now
- Netlify
Runnable starting points with an exercise in each README; npm install && npm test in each folder.
- Values and equality
- Unions and literal types
- Narrowing
- Generics
- Utility types
- Advanced types
- Runtime validation with zod
- Branded IDs
- Library design
- Cross-runtime code
Runnable starting points with an exercise in each README. Node.js >= 26 runs the TypeScript directly (type stripping); HTTP services use Express 5, tests run with Vitest. All exercises share one small domain – the orders of a workshop shop (money in whole cents). npm install && npm test in each folder, npm run test:solution for the solution.
- HTTP API with Express 5
- CLI tools: orders report
- Validation with zod
- Typed configuration and secrets
- Testing an API with Vitest
- SQL repository with postgres.js
- Structured logs
- JWT / OIDC with jose
- Profiling and performance
- Hardening a service
- OpenTelemetry tracing
- Health checks and graceful shutdown
- Ports and adapters
- Event sourcing and CQRS (Node.js >= 26, Vitest)
- Architecture decision records (ADR)
Twelve exercises from domain language to event sourcing, plus sagas and event sourcing on AWS, each with start, solution and tests. Overview and order: EXAMPLES/ARCHITECTURE (German).
The exercises belong to these German-language workshops:
- Workshop: Node.js Backend, funktional und typsicher
- Workshop: Node.js Core mit Express 5
- Workshop: Architektur: DDD, CQRS und Event Sourcing
- Workshop: Fullstack mit TypeScript, Node.js, GraphQL und React in 6 Tagen
- Slides: slides.mikebild.dev/introduction-nodejs
- Slides: slides.mikebild.dev/introduction-cqrs-event-sourcing
If you have found a bug or if you have a feature request, please report them at this repository issues section. Please do not report security vulnerabilities on the public GitHub issue tracker.
This project is licensed under the MIT license. See the LICENSE file for more info.
You like this NodeJS introduction and you want to see what coming next?
Follow me on Twitter @mikebild.
Enjoy!