• Stars
    star
    201
  • Rank 188,331 (Top 4 %)
  • Language
    Java
  • License
    Apache License 2.0
  • Created almost 7 years ago
  • Updated 18 days ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

JHipster Online lets you generate your JHipster projects through a user friendly web interface.

JHipster Online

Build Status Docker Pulls

JHipster Online is a Web application that allows to generate JHipster applications without installing JHipster on your machine.

This is an Open Source project (Apache 2 license) that powers the https://start.jhipster.tech/ website.

You can use https://start.jhipster.tech/ for free, but if you find a bug or need a specific feature, you are welcome to contribute to the project. You can also choose to clone or fork the project, and have your own version that is hosted within your company.

Quick start guide

JHipster Online is a JHipster application, so you can follow the JHipster documentation to learn how to configure and set up JHipster Online.

This quick start guide uses the default configuration that comes with JHipster Online: please read the next section for details on configuring the application.

  • Install and run the front-end:
yarn install && yarn start
  • Run the database:
docker-compose -f src/main/docker/mysql.yml up -d
  • Run the back-end:
./mvnw

Specific configuration

This section covers what is specific to JHipster Online over a normal JHipster application.

For standard JHipster configuration, the JHipster common application properties will probably be very useful.

JHipster installation and execution

JHipster Online generates a JHipster application by running the jhipster command line. In order for that command line to work, you need to have JHipster installed on your machine.

We recommend you use the "Yarn installation" from the official JHipster installation documentation.

If you need more configuration options for running the JHipster command, you can modify:

  • the location of the jhipster command
  • the timeout value for that command (the default is 120 seconds - please note that on our production server a generation usually takes 5 to 6 seconds)
  • the temporary folder in which the application will be generated (/tmp by default)

Those are customized using the Spring Boot application-*.yml files as usual, for example:

application:
    jhipster-cmd:
        cmd: /usr/local/bin/jhipster
        timeout: 60
    tmp-folder: /tmp

Database configuration

JHipster Online works with a MySQL database, that is configured in the usual application-*.yml Spring Boot configuration files, using the standard spring.datasource keys.

Security

JHipster Online uses JWT to secure the application. For a production application, it is therefore mandatory that:

  • The jhipster.security.authentication.jwt.key is configured, and that key is stored securely (not commited in your application's Git repository). We recommend to configure it as an environnement variable on your server, or in a specific Spring Boot application.yml file that is stored in your application's folder on your production server (which is our configuration on the official JHipster Online website).
  • The application is only available through HTTPS. You can configure it using Spring Boot (please read the comments in the application-prod.yml file), or using an Apache 2 HTTP server with Let's Encrypt on front of your application (which is our configuration on the official JHipster Online website).

Mail

E-mails are used to validate users' e-mail addresses or to send "forgotten password" e-mails. They are disabled by default, but it might be a good idea to configure them once the application is in production.

To configure e-mail sending, you need to configure the jhipster.mail keys (see JHipster common application properties), and the Spring Boot standard spring.mail keys.

When running the app with the dev profile, make sure to start the development mail server with:

docker-compose -f src/main/docker/mailserver.yml up -d

You can view the mails sent by JHipster with the MailHog UI at http://localhost:8025.

GitHub configuration

GitHub is configured using the application.github keys in the application-*.yml configuration files.

JHipster Online can work on the public GitHub instance on https://github.com as well as any private instance of GitHub Enterprise that is configured inside your company.

JHipster Online has to be configured as an "OAuth App": create a jhipster organization, and go to that organization's "Settings > Developer Settings > OAuth Apps" to create a new "OAuth App" with the required credentials. This will allow JHipster Online to create applications and pull requests on your behalf. JHipster Online uses https://your-jhipster-online-url/api/github/callback as callback endpoint.

JHipster Online also needs to have a specific "JHipster Bot" user configured, like the
https://github.com/jhipster-bot used by the official JHipster Online website.

Here is the final configuration, that should be set up inside the application-dev.yml file for development, and inside the application-prod.yml file for production.

application:
    github:
        host: https://github.com # The GitHub to connect to (by default: the public GitHub instance)
        client-id: XXX # The OAuth Client ID of the application on GitHub
        client-secret: XXX # The OAuth Client secret of the application on GitHub

GitLab configuration

Similarly to GitHub, your GitLab configuration must be placed in your application-*.yml using the application.gitlab keys.

JHipster Online can work on the public GitLab instance on https://gitlab.com as well as any private instance of GitLab that is configured inside your company.

JHipster Online needs to have a specific "JHipster Bot" user configured: create that user (if you have your own private instance, you can call it jhipster-bot, otherwise choose the name you like), and log in using that user.

Once logged in, the required API credentials can be created by going to "Settings > Applications > Add new application". Create a new application:

  • Its name is jhipster
  • The redirect URI is https://your-jhipster-online-url/api/gitlab/callback
  • It has the api and read_user scopes

Save that new application and store safely the Application Id and Secret values, so you can use them to configure the application-*.yml files.

Here is the final configuration, that should be set up inside the application-dev.yml file for development, and inside the application-prod.yml file for production.

application:
    gitlab:
        host: https://gitlab.com # The GitLab to connect to. The main public GitLab instance is default here.
        client-id: XXX # Your GitLab application Id
        client-secret: XXX # Your GitLab application secret
        redirect-uri: XXX   # The URI where the user will be redirected after GitLab authentication. This URI
                            # must be registered in you GitLab application callback URLs

Building for production

To generate a production build, like any normal JHipster application, please run:

./mvnw -Pprod clean package

Using Docker

You can also fully dockerize your application and all the services that it depends on. To achieve this, first build a docker image of your app by running:

docker build -t jhonline .

Then run:

docker compose -f src/main/docker/app.yml up -d

Deployment to Google App Engine (GAE) Flexible Environment

Steps for Deployment

  • Increment the version numbers in pom.xml and package.json.
  • Create a tagged release. All you have to do is got to the releases section and edit the draft created by github-actions.

Help and contribution to the project

Please note that this project is part of the JHipster organization and it follows the rules of the JHipster project.

If you have an issue, a bug or a feature request

Please follow our contribution guide.

If you have a question or need help

You should post it on Stack Overflow using the "jhipster" tag.

Code of conduct

We have the same code of conduct as the main JHipster project: JHipster code of conduct.

More Repositories

1

generator-jhipster

JHipster is a development platform to quickly generate, develop, & deploy modern web applications & microservice architectures.
TypeScript
21,203
star
2

jhipster-sample-app

This is a sample application created with JHipster
TypeScript
1,338
star
3

prettier-java

Prettier Java Plugin
Java
1,029
star
4

jhipster-registry

JHipster Registry, based on Spring Cloud Netflix Eureka and Spring Cloud Config
TypeScript
693
star
5

jhipster-kotlin

Kotlin based JHipster
Kotlin
445
star
6

jhipster-lite

JHipster Lite ⚡ is a development platform to generate, develop & deploy modern web applications & microservices architecture, step by step - using Hexagonal Architecture 💎
Java
413
star
7

jhipster

DEPRECATED: use https://github.com/jhipster/jhipster-bom instead
Java
409
star
8

jdl-studio

JDL Studio is an online JHipster Domain Language visual editor
TypeScript
403
star
9

jhipster-core

JHipster Domain Language, used by JHipster UML and JDL-Studio to generate entities
JavaScript
344
star
10

jhipster.github.io

Public website for JHipster - generates https://www.jhipster.tech
JavaScript
342
star
11

jhipster-dotnetcore

JHipster.NET blueprint
EJS
305
star
12

jhipster-vuejs

A Vue.js blueprint for JHipster. It will use Vue.js as the frontend library!
TypeScript
300
star
13

generator-jhipster-react-native

A React Native blueprint for JHipster
EJS
259
star
14

jhipster-uml

UML support for JHipster
JavaScript
258
star
15

generator-jhipster-nodejs

A NodeJS blueprint that creates the backend using NestJS
EJS
248
star
16

jhipster-console

JHipster monitoring & alerting console, based on ELK
Go
226
star
17

jdl-samples

Sample JDL files
215
star
18

jhipster-sample-app-react

This is a sample application created with JHipster, using React
Java
212
star
19

jhipster-devbox

JHipster virtualized development box
Shell
200
star
20

generator-jhipster-ionic

Ionic for JHipster ✨
TypeScript
186
star
21

jhipster-guides

Guides to help you learn JHipster quickly
Shell
177
star
22

generator-jhipster-quarkus

Quarkus blueprint for JHipster
EJS
135
star
23

generator-jhipster-entity-audit

JHipster module to enable entity audit and audit log page
EJS
127
star
24

jhipster-ide

An IDE for the JHipster Domain Language
Xtend
124
star
25

ng-jhipster

JHipster Angular library
TypeScript
123
star
26

generator-jhipster-micronaut

Micronaut blueprint for JHipster
EJS
98
star
27

jhipster-sample-app-ng2

DEPRECATED now that Angular 2+ is the default - This is a sample application created with JHipster, using Angular 2
Java
95
star
28

jhipster-sample-app-vuejs

This is a sample application created with JHipster, with the Vue.js blueprint
Java
91
star
29

react-jhipster

JHipster React library
TypeScript
82
star
30

webflux-jhipster

HTML
69
star
31

jhipster-bom

JHipster BOM and server-side library
Java
68
star
32

generator-jhipster-svelte

Generate Svelte powered JHipster web applications
EJS
61
star
33

jhipster-control-center

Manage your JHipster applications from a single place
TypeScript
59
star
34

jhipster-docker

DO NOT USE - DEPRECATED REPO - Old jdubois/jhipster Docker image, replaced by https://hub.docker.com/r/jhipster/jhipster/
59
star
35

jhipster-loaded

DEPRECATED - Java Agent used by JHipster to hot-reload Java classes
Java
51
star
36

jhipster-sample-app-microservice

This is a sample application created with JHipster, with the Microservice type
Java
50
star
37

jhipster-sample-app-oauth2

This is a sample application created with JHipster, with the OAuth2 option
TypeScript
50
star
38

jhipster-net-sample-app-template

JHipster.NET sample application
C#
49
star
39

jhipster-experimental-microservices

DON'T USE THIS - old experimental repository
Java
45
star
40

jhipster-sample-app-gradle

This is a sample application created with JHipster, with the Gradle option
TypeScript
43
star
41

generator-jhipster-module

DEPRECATED: use https://github.com/jhipster/generator-jhipster instead
EJS
43
star
42

generator-jhipster-native

JavaScript
40
star
43

jhipster-oh-my-zsh-plugin

JHipster plugin for oh-my-zsh
Shell
39
star
44

jhipster-sample-app-elasticsearch

This is a sample application created with JHipster, using ElasticSearch
TypeScript
39
star
45

jhipster-sample-app-dotnetcore

This is a sample .NET application created with the JHipster .NET blueprint
TypeScript
39
star
46

jhipster-sample-app-nodejs

This is a sample application created with NodeJS JHipster Official Blueprint (NHipster)
TypeScript
38
star
47

jhipster-sample-app-gateway

This is a sample application created with JHipster, with the Gateway type
TypeScript
37
star
48

generator-jhipster-blueprint

DEPRECATED: use https://github.com/jhipster/generator-jhipster instead
JavaScript
35
star
49

jhipster-app

The JHipster App lives in the menu bar, and helps running the most usual JHipster tasks
JavaScript
33
star
50

cn

中文官方版本, 由社区维护
JavaScript
30
star
51

consul-config-loader

A small docker based tool to load Spring Boot property files into Consul's K/V Store
Shell
29
star
52

jhipster-sample-app-quarkus

JHipster on Quarkus
TypeScript
27
star
53

jhipster-sample-app-mongodb

This is a sample application created with JHipster, with the MongoDB option
TypeScript
26
star
54

devoxx-2016

Code developed live during Devoxx 2016: video is at https://www.youtube.com/watch?v=dzdjP3CPOCs and slides are at http://www.slideshare.net/julien.dubois/devoxx-being-productive-with-jhipster
Java
25
star
55

chevrotain-java

A javascript based java parser based on chevrotain
JavaScript
25
star
56

jhipster-sample-app-hazelcast

This is a sample application created with JHipster, with the Hazelcast option
TypeScript
24
star
57

jhipster-sample-app-websocket

This is a sample application created with JHipster, with the Websocket option
TypeScript
24
star
58

jhipster-sample-app-micronaut

[WORK IN PROGRESS] JHipster on Micronaut
Java
23
star
59

jhipster-sample-app-token

DEPRECATED as JWT is now the default option - this is a sample application created with JHipster, with the JWT authentication option
Java
22
star
60

jhipster-sample-app-dto

This is a sample application created with JHipster, using DTOs
TypeScript
21
star
61

jhipster-go

GoHipster: A JHipster blueprint that will provide Golang as the server side language
JavaScript
20
star
62

jhipster-artwork

All artwork related to JHipster
18
star
63

jhipster-registry-sample-config

Sample Spring Cloud Config repository for the JHipster Registry
18
star
64

jhipster-dashboard

Hystrix dashboard for JHipster microservices architecture
Shell
16
star
65

jhipster-bot

Bot for creating JHipster applications
JavaScript
15
star
66

jhipster-sample-app-kotlin

This is a sample application created with JHipster, with the Kotlin blueprint
Kotlin
14
star
67

jhipster-docker-hub

docker-compose files using images from JHipster organization at Docker Hub
Shell
14
star
68

jhipster-sample-app-cassandra

This is a sample application created with JHipster, with the Cassandra option
TypeScript
13
star
69

jhipster-openid-connect

WORK IN PROGRESS - DO NOT USE YET - JHipster OpenID Connect server, based on CloudFoundry UAA
13
star
70

jhipster-operator

Java
12
star
71

jhipster-ansible

Ansible role for managing releases
HTML
12
star
72

generator-jhipster-docker-compose

DO NOT USE THIS REPO - it's now a sub-generator in the main generator-jhipster project
JavaScript
12
star
73

jhipster-sample-app-svelte

This is a sample application created with JHipster Svelte blueprint
Java
10
star
74

jhipster-automated-samples

Automatically generate the JHipster sample applications
Shell
10
star
75

jhipster-sample-app-nodejs-oauth2

This is a sample application created with NodeJS JHipster Official Blueprint (NHipster), with OAuth2 and the React option
TypeScript
9
star
76

jhipster-dependencies

DEPRECATED - Maven BOM for all JHipster projects
Shell
9
star
77

jhipster-lite-sample-app

This is a sample application created with JHipster Lite
Java
9
star
78

generator-jhipster-jooq

JHipster blueprint for jOOQ support
JavaScript
8
star
79

jhipster-fisher-plugin

A fisher plug-in for JHipster
Shell
8
star
80

jhipster-neo4j-app

Sample JHipster application forked to use Neo4J
Java
8
star
81

eslint-config-jhipster

JavaScript
8
star
82

jhipster-sample-app-ng1

DEPRECATED as AngularJS 1.X support is removed in JHipster 5 - This is a sample application created with JHipster, using AngularJS 1.x
Java
8
star
83

jhipster-net

Core library for JHipster.NET
C#
7
star
84

jhipster-dotnet

C#
7
star
85

jhipster-sample-app-java7

DEPRECATED as Java 7 is deprecated on JHipster
Java
7
star
86

jhipster-php

[work in progress] PHP implementation for JHipster
Java
7
star
87

hipslacker

A Slack bot for JHipster
Python
7
star
88

jhipster-ci-stack

DO NOT USE - UNDER DEVELOPMENT Official Docker continuous integration agent image
7
star
89

jhipster-sample-app-nocache

This is a sample application created with JHipster, without using a 2nd level cache
TypeScript
6
star
90

jhipster-registry-buildpack

A buildpack for the JHipster Registry
Shell
5
star
91

jhipster-sample-app-couchbase

This is a sample application created with JHipster, with the Couchbase option
TypeScript
4
star
92

jhipster-sample-app-blazor

Blazor front-end for JHipster .NET Core
C#
4
star
93

jhipster-code

Website for JHipster Code
JavaScript
4
star
94

jhipster-sample-app-noi18n

This is a sample application created with JHipster, without using i18n
TypeScript
4
star
95

documentation-archive

Archive for old JHipster documentation
HTML
3
star
96

jhipster-sample-app-golang

A sample application for go blueprint
3
star
97

jhipster-sample-app-nodejs-vuejs

This is a sample application created with NodeJS JHipster Official Blueprint (NHipster), with MongoDB and the Vue.js option
TypeScript
3
star
98

.github

Maintains all of the default policies for the JHipster organization
2
star
99

jhipster-sample-application

Java
2
star
100

jhipster-base

Shared data between JHipster dependent modules such like JH Core and JH IDE
Shell
2
star