Git Product home page Git Product logo

jhipster / jhipster-lite Goto Github PK

View Code? Open in Web Editor NEW
417.0 22.0 199.0 52.06 MB

JHipster Lite ⚡ is a development platform to generate, develop & deploy modern web applications & microservices architecture, step by step - using Hexagonal Architecture :gem:

Home Page: https://www.jhipster.tech/jhipster-lite/

License: Apache License 2.0

JavaScript 0.16% Java 61.77% Mustache 24.00% Shell 0.73% TypeScript 8.72% HTML 0.68% Vue 0.21% Dockerfile 0.07% CSS 0.29% Gherkin 1.58% SCSS 0.94% Pug 0.85%
java spring-boot jhipster generator hexagonal-architecture typescript vuejs hacktoberfest

jhipster-lite's Introduction

Logo JHipster Lite

JHipster Lite ⚡

JHipster Lite version JHipster Lite Maven Central JHipster Lite Docker Hub

Build Status sonarcloud-coverage

sonarcloud-quality-gate sonarcloud-maintainability

sonarcloud-bugs sonarcloud-vulnerabilities sonarcloud-security sonarcloud-code-smells

Revved up by Develocity

Description

JHipster is a development platform to quickly generate, develop & deploy modern web applications & microservice architectures.

JHipster Lite will help you to start your project by generating step by step only what you need.

  • The generated code uses Hexagonal Architecture
  • The technical code is separated from your business code
  • You will only generate the code you want, no additional unused code
  • The best quality as possible: 💯% coverage, 0 code smell, no duplication 😎

This is a sample application created with JHipster Lite.

Quick Start

You need to clone this project and go into the folder:

git clone https://github.com/jhipster/jhipster-lite
cd jhipster-lite

Run the project:

./mvnw

Then, you can navigate to http://localhost:7471 in your browser.

Some videos

Choosing

The original JHipster and JHLite are not the same thing, they are not generating the same code and not serving the same purpose! Here are some choice elements you can take into account:

Choosing JHipster

Prerequisites

Java

You need to have Java 21:

Node.js and NPM

  • Node.js: we use Node to run a development web server and build the project. Depending on your system, you can install Node either from source or as a pre-packaged bundle.

After installing Node, you should be able to run the following command to install development tools.

npm ci

You will only need to run this command when dependencies change in package.json.

npm install

Test the project

To launch tests:

./mvnw clean test

To launch tests and integration tests:

./mvnw clean verify

GraalVM Native Support

This project has been configured to let you generate either a lightweight container or a native executable. It is also possible to run your tests in a native image. Lightweight Container with Cloud Native Buildpacks

If you're already familiar with Spring Boot container images support, this is the easiest way to get started. Docker should be installed and configured on your machine prior to creating the image.

To create the image, run the following goal:

./mvnw spring-boot:build-image -Pnative

Then, you can run the app like any other container:

docker run -p 7471:7471 --rm docker.io/library/jhlite:<VERSION>

Executable with Native Build Tools

Use this option if you want to explore more options such as running your tests in a native image. The GraalVM native-image compiler should be installed and configured on your machine.

NOTE: GraalVM 22.3+ is required.

To create the executable, run the following goal:

./mvnw native:compile -Pnative -DskipTests

Then, you can run the app as follows:

./target/jhlite

You can also run your existing tests suite in a native image. This is an efficient way to validate the compatibility of your application.

To run your existing tests in a native image, run the following goal:

./mvnw test -PnativeTest

Lint

We use multiple linters check and lint your code:

To check:

npm run lint:ci

To lint and fix all code:

npm run lint

Sonar Analysis

To launch local Sonar Analysis:

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

Then:

./mvnw clean verify sonar:sonar

So you can check the result at http://localhost:9001

Run the project

You can run the project using Maven, as spring-boot:run is the default target:

./mvnw

Or, first, you can package as jar:

./mvnw package

Then, run:

java -jar target/*.jar

So you can navigate to http://localhost:7471 in your browser.

These following profiles are available, and you can use it to only display the frameworks you want:

  • angular
  • react
  • vue

For example, you can run:

./mvnw -Dspring-boot.run.profiles=vue

or

java -jar target/*.jar --spring.profiles.active=vue

Docker/Podman Quickstart

To start a local instance of JHipster Lite, go to your desired application folder and run:

docker run --rm --pull=always -p 7471:7471 -v $(pwd):/tmp/jhlite:Z -it jhipster/jhipster-lite:latest

Or with podman:

podman run --rm --pull=always -p 7471:7471 -v $(pwd):/tmp/jhlite:Z -u root -it jhipster/jhipster-lite:latest

Then, go to http://localhost:7471

e2e tests

You need to run the project first. Then, you can run the end-to-end tests:

npm run e2e

Or in headless mode:

npm run e2e:headless

Generate your project

Once started, go to http://localhost:7471, select your option and generate the code you want, step by step, and only what you need.

Contributing

We are honored by any contributions you may have small or large. Please refer to our contribution guidelines and instructions document for any information about contributing to the project.

Sponsors

Support this project by becoming a sponsor! Become a sponsor or learn more about sponsoring the project.

Thank you to our sponsors!

Bronze sponsors

BronzeSponsors

Backers

Thank you to all our backers!

Backers

jhipster-lite's People

Contributors

abdelfetah18 avatar adem-hassine avatar antarus avatar atomfrede avatar beatfreaker avatar bolo89 avatar damnclin avatar danielfran avatar dependabot[bot] avatar fdelbrayelle avatar franceq34 avatar github-actions[bot] avatar gnuk avatar hdurix avatar jdubois avatar juliensadaoui avatar marioneyraud avatar matthieurioual avatar msaguer avatar murdos avatar nonomoho avatar pascalgrimaud avatar pblanchardie avatar qmonmert avatar renanfranca avatar renovate[bot] avatar seraphinandrieux avatar swarajsaaj avatar yourgene avatar zhyd1997 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

jhipster-lite's Issues

Improve FileUtils

  • read file
  • get line of a string, in file
  • contain a string in file
  • contain regexp in file
  • replace in file

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.