# NodeJS + Express Boilerplate ## About Dieses Projekt beinhaltet eine sog. Boilerplate, mit der sich schnell ein Webserver-Projekt auf NodeJS+Express Basis initialisieren lässt. Der Server beinhaltet Grundfunktionalität, also: - Ein einfacher `/echo`-Endpoint - -> Schicke einen Request ab und erhalte als Antwort genau deine Request-Daten zurück - `(TODO)` Ein einfacher `fileserver` unter `/file/**` - -> Liefert die files aus dem Projektverzeichnis unter `public` per URL aus - `(TODO)` Ein einfacher `login`-Bereich - -> Zeigt die Handhabung von Sessions und Authentifizierung in NodeJS+Express - `(TODO)` XSRF-Token-Security für `POST`, `PUT`, `PATCH` und `DELETE` -Endpoints _... behalte und erweitere, was du brauchst - schmeiß' raus, was nicht._ ## How To ### Voraussetzungen - Installation: NodeJS & NPM - Installation: Git SCM - Sauber eingerichtete SSH-Schlüsselpaar-Authentifizierung für Bitbucket ### Installation 1. Erstelle einen leeren Ordner in deinem Entwicklungsbereich - z.B. `~/Development/my-new-webserver` 2. Öffne ein Terminal und wechsle in den neuen Ordner ```bash $ cd ~/Development/my-new-webserver ``` 3. (Optional) Initialisiere ein Git-Repository ```bash $ git init ``` 4. Installiere das Boilerplate Projekt ```bash $ curl --silent https://bitbucket.siriusonline.de/projects/TSC/repos/express-starter/raw/scripts/init.js | node - ``` ### Webserver starten Terminal im Projekt-Root öffnen: ```bash $ npm start # --- Ausgabe: ---- > my-new-webserver@1.0.0 start > npm run build && node dist/index.js > my-new-webserver@1.0.0 build > tsc -b Example app listening on http://localhost:8999 ``` Ét voilà - damit sollte der Webserver lokal auf Port 8999 laufen.