mel-server
v1.0.35
Published
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
Downloads
34
Maintainers
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.