JSPM

  • Created
  • Published
  • Downloads 1
  • Score
    100M100P100Q40060F
  • License ISC

REST-Service-Lib with a set of crud- and select-methods which simplify the access to a sql-server. Generates applicationprojects and database-infrastructure for mel-apps

Package Exports

  • mel-server
  • mel-server/lib/index.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (mel-server) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

1. Über mel

Mel ist ein Entwicklungsframework für client-server Angular-Anwendungen. Es soll dem Entwickler langweilige gleichartige Tätigkeiten abnehmen, damit er sich möglichst nur mit der Geschäftslogik und dem dahinterliegenden Datenmodell beschäftigen muss. Es werden SQL-Datenbanken mit Transaktionsmechanismen unterstützt, für die ein Treiber in javascript verfügbar ist. Mel wurde mit folgenden Datenbanken getestet:

  • mySql

Verwenden Sie eine vorhandene Datenbank (Datenmodel).

Mel erstellt aus der Datenbank eine Applikationsdatenbank, aus der die Quellen für einen REST-Server-Projekt (nodejs) und ein Angular-Projekt (Client) erzeugt werden.

In Mel ist ein Rechtesystem integriert, dass die Zugriffe auf Tabellen und Geschäftslogik pro Mandant (Firma) einschränkt. Ein Mandant (Firma) entspricht einer Datenbank.

2. Was Sie benötigen:

  • nodejs
  • Angular
  • npm
  • Datenbank mit dem Datenmodell Ihrer Anwendung

3. Einstieg

3.1. Eine Datenbank erstellen

Modellieren Sie Ihre Datenmodel und erstellen eine Datenbank mit der Workbench Ihres Vertrauens und vergessen bitte nicht, die Tabellenrelationen zu vollständig zu setzen.

3.1. Installieren Sie die aktuellen cli-Versionen von mel global

Den REST-Servergenerator:

  • npm install mel-server-cli --global

Den Angular-Clientgenerator

  • npm install mel-client-cli --global

3.2. Generieren Sie eine Applikationsdatenbank und ein mel-server Projekt in nodejs

  • npm init
  • npm install --save mel-server
  • mel new server --app myAppName [options]
    options: [svr-port db-type db-name db-ip db-port db-user db-pwd [company] ] | [config]
    • --db-type *Datenbanktyp (mysql, postgres, mssql...)
    • --db-ip ip-adresse des datenbankservers
    • --db-port Port des Datenbankservers
    • --db-user Admin-Benutzer des Datenbankservers
    • --db-pwd Passwort des Datenbankbenutzers
    • --svr-port Port des Restservers
    • --config Dateiname der Konfigurationsdatei

Kompilieren Sie den Server mit

  • npm run build

und starten Sie ihn mit

  • npm run start

Im späteren Produktivbetrieb können Sie mehrere node-Server einsetzen.

3.3. Erzeugen Sie ein mel-client Angular-Projekt

  • npm init

  • ng new myAppName

  • npm install --save mel-client

  • mel new client --app myAppName --svr-ip mel-server-ip --svr-port mel-server-port

    Eine app.config - Datei wird erzeugt, die drei (dev, test, prod) identische Konfigurationen mit dem angegeben mel-server-endpoint enthalten. Wenn die Test- und Produktionsumgebung bekannt ist, können hier die entsprechenden Endpunkte notiert werden.

!!! Wichtig !!! Verwenden Sie für mel-server und mel-client den identischen myAppNamen.
Kompilieren Sie den Client:

  • ng build

3.4. Verbinden Sie Ihre Datenbank mit einem Mandanten (Firma)

  • mel assign myDatabasename [myCompanyName]

Wenn Sie myCompanyName weglassen, wird myCompanyName gleich myDatabaseName

Ihre Datenbank wird

Es werden die Tabelleninformationen Ihres Datenmodells importiert und in der Liste angezeigt. Der automatisch Import Ihres Datenmodells erfolgt nur dann, wenn die Metadaten noch nicht im System sind. Falls Sie also nachträglich Änderungen oder Ergänzungen vornehmen, müssen Sie den Import manuell ausführen.

Sie können nun die Tabellenfelder um die kalkulierten Felder und Feldfilter ergänzen. siehe auch todo

Generieren Sie jetzt die Metadaten für den Server und für den Client, kompilieren und starten dann jeweils neu.