generator-jhipster-swift

A SWIFT based JHipster (swift)

Usage no npm install needed!

<script type="module">
  import generatorJhipsterSwift from 'https://cdn.skypack.dev/generator-jhipster-swift';
</script>

README

SWIFT is a developpment generates ready-to-deploy full stack application based on a simple domain specific configuration file in seconds. S Based on Spring Boot and the SWIFT framework, resulting applications offer built-in configuration with optimistic lock, paging and filtering for relational persistence.

Optionally Sets up complete remoyte development environment (VSCode only) you can add remote developpement and ci-cd. Semaless integration with Airbus infrastructre

Pre-requisites

SWIFT requires NPM version ...

Install Node node version v16.13.2 (lts) https://nodejs.org/fr/download/current/ This will install node runtime and npm 8.1.2

Configure NPM 8.1.0 client to use Airbus Artifactory -> .npmrc

install git (w/ gitflow extension)

Install yeoman (https://yeoman.io/)

npm install -g yo

Installation

Install SWIFT generator

npm install -g generator-jhipster-swift

Optionnaly Install Maven 3.8.4 Install Java 11

Usage

  1. Create a domain description file

SWIFT uses JDL format for its domain configuration file.

JDL is a JHipster-specific domain language where you can describe all your application, deployments, entities and their relationships in a single file with a user-friendly syntax.

You can use our online JDL-Studio or one of the JHipster IDE plugins/extensions available for Eclipse or VS-Code to create a JDL file and its UML visualization.

Full JDL documentation is available here

MUST contain

  • application section with
    • baseName and packageName
  • entities section
    • NO ID!! (set by FW)

Application

Entities & fields

All options are supported by SWIFT. Note: You MUST NOT define id or @Version fields

Enums Full support.

Relationships Full support.

ALL OTHER OPTIONS ARE PRECONFIGURED BY SWIFT AND WILL BE IGNORED

`application {
config {
baseName [application name]
packageName [package name]
}

entities * }`

  1. Generates project files

swift jdl <jdl-file>

  1. Generates CI-CD configuration

swift ci-cd

  1. Git

  2. Postman