Boilerplate project for a basic ExpressJS webserver

Christian Kahlau c7ddad5f64 Standard HttpStatusException Handling in webserver.class.ts 3 năm trước cách đây
.vscode 9dec004282 Initial Commit - Simpler echo service mit gängigen bodyparsern 3 năm trước cách đây
private 664d02bd48 Implementierung ChatController nun auf File-Basis (statt Array In-Memory) 3 năm trước cách đây
public a004ede07d Beispielimplementierung "Chat" zur Veranschaulichung von XSRF-Token-Security 3 năm trước cách đây
scripts 664d02bd48 Implementierung ChatController nun auf File-Basis (statt Array In-Memory) 3 năm trước cách đây
src c7ddad5f64 Standard HttpStatusException Handling in webserver.class.ts 3 năm trước cách đây
.env 664d02bd48 Implementierung ChatController nun auf File-Basis (statt Array In-Memory) 3 năm trước cách đây
.gitignore 664d02bd48 Implementierung ChatController nun auf File-Basis (statt Array In-Memory) 3 năm trước cách đây
.prettierrc.js 28e232d4a5 prettierrc typo "tabWdith" korrigiert 3 năm trước cách đây
Readme.md d4e8581773 Readme: Install-Befehl für Windows Git Bash 3 năm trước cách đây
package.json 307d48e9c8 Umbau auf Router/Handler Architektur; Basis-Implementierung Public/Private Page + Login/Logout; Readme updated 3 năm trước cách đây
tsconfig.json 9dec004282 Initial Commit - Simpler echo service mit gängigen bodyparsern 3 năm trước cách đây

Readme.md

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
  • Ein einfacher fileserver unter /*
    • -> Liefert die files aus dem Projektverzeichnis unter public per URL aus
  • Ein einfacher login-Bereich unter /login/*
    • -> Zeigt die Handhabung von Sessions und Authentifizierung in NodeJS+Express
  • XSRF-Token-Security für POST, PUT, PATCH und DELETE -Endpoints
    • -> Veranschaulicht im "Chat" des /login/*-Bereichs

... 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 (bash) Terminal und wechsle in den neuen Ordner

    $ cd ~/Development/my-new-webserver
    
  3. (Optional) Initialisiere ein Git-Repository

    $ git init
    
  4. Installiere das Boilerplate Projekt

    $ curl --silent https://bitbucket.siriusonline.de/projects/TSC/repos/express-starter/raw/scripts/init.js | node -
    

⚠️ Besonderheit unter Windows / Git Bash:

damit Pipes funktionieren, muss der Befehl in einer "sh" Shell ausgeführt werden:

$ /bin/sh -c "curl --silent https://bitbucket.siriusonline.de/projects/TSC/repos/express-starter/raw/scripts/init.js | node -"

Webserver starten

Terminal (bash) im Projekt-Root öffnen:

$ 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.