Repository for learning NestJS (Node.js APIs with TypeScript), from TypeScript foundations through modular architecture and HTTP APIs—with AI-assisted development where it helps.
| Group | G2 |
| Trainer | Ivo Kostovski |
| ivo@kostovski.dev | |
| Web | kostovski.dev |
| GitHub | ivokostovski |
- TypeScript essentials — types, generics, narrowing, classes (foundation for Nest)
- NestJS architecture — modules, providers, dependency injection
- HTTP layer — controllers, routing, request/response flow
- DTOs & validation — shaping input, pipes, class-validator patterns
- Cross-cutting concerns — guards, interceptors, exception filters
- Configuration — env variables, config modules, safe defaults
- Testing mindset — unit vs integration tests with Nest testing utilities (where covered)
- AI in the workflow — scaffolding modules, explaining Nest patterns, reviewing code (with human validation)
| Tool | Link |
|---|---|
| VS Code | code.visualstudio.com |
| Node.js | nodejs.org |
| TypeScript | typescriptlang.org |
| NestJS | nestjs.com |
| GitHub Copilot | github.com/features/copilot |
| ChatGPT | chat.openai.com |
Use Node.js and npm (or pnpm / yarn) to install dependencies and run examples in each exercise folder.
Built-in JavaScript and TypeScript support in VS Code covers syntax highlighting, IntelliSense, and Go to Definition. These extensions complement it for day-to-day TS work:
| Extension | Why use it |
|---|---|
| Pretty TypeScript Errors | Easier-to-read TypeScript error messages (great while learning). |
| Prettify TypeScript: Better Type Previews | Nicer hover previews for complex types (generics, nested objects, utilities). |
| ESLint | Lint .ts files with project rules; catches many issues before run time. |
| Prettier | Consistent formatting; pair with “Format on Save” in settings. |
| Error Lens | Shows errors and warnings inline in the editor. |
| Path Intellisense | Autocompletes file paths in import statements. |
| npm Intellisense | Autocompletes package names when importing from node_modules. |
Optional: Import Cost shows import size hints (useful when bundle size matters).
All homework instructions live in the homeworks/ folder. Each assignment has its own README there.
In-class examples and scripts are organized by session (e.g. 01_typescript/).