Was ich gelernt habe

Node + Express App Setup

Initialisierung eines Node.js Servers, Konfiguration von npm Packages und Aufsetzen einer skalierbaren Express-Applikation.

TypeScript & Modern JS (ES6+)

Einsatz von TypeScript für Typsicherheit, Interfaces und moderne ES6+ Features wie Arrow Functions und Destructuring.

Routing / Endpoints

Definition von RESTful Routen, HTTP-Methoden (GET, POST, PUT, DELETE) und Modularisierung mit Express Router.

Handling Requests & Responses

Verarbeitung eingehender Requests (Body, Query, Params) und Senden korrekter HTTP-Responses und Status-Codes.

Request Validation

Validierung von User-Input mittels Middleware (z.B. express-validator) zur Sicherstellung der Datenintegrität.

Database Communication

Integration persistenter Datenspeicherung mit NoSQL (MongoDB/Mongoose) und relationalen Datenbanken (MySQL/Sequelize).

Files, Uploads, Downloads

Implementierung von Datei-Uploads (z.B. mit Multer), Dateiverwaltung und Bereitstellung von Downloads.

Auth & REST Security

Implementierung von Authentication, Session-Handling über Cookies, CSRF-Protection und JWT (Authentication Tokens).

Herausforderungen & Lösungen

Asynchrone Datenverarbeitung

Eine spannende Herausforderung war es, das asynchrone Wesen von Node.js vollständig zu durchdringen und eine effiziente Daten-Synchronisation mit dem Frontend zu gewährleisten.