Convert Figma logo to code with AI

jhipster logogenerator-jhipster

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

21,445
4,017
21,445
107

Top Related Projects

Spring Boot

66,731

A progressive Node.js framework for building efficient, scalable, and enterprise-grade server-side applications with TypeScript/JavaScript 🚀

55,550

Ruby on Rails

78,107

Laravel is a web application framework with expressive, elegant syntax. We’ve already laid the foundation for your next big idea — freeing you to create without sweating the small things.

64,773

Fast, unopinionated, minimalist web framework for node.

62,681

🚀 Strapi is the leading open-source headless CMS. It’s 100% JavaScript/TypeScript, fully customizable and developer-first.

Quick Overview

JHipster is an open-source development platform for generating, developing, and deploying modern web applications and microservices. It combines popular frameworks and tools like Spring Boot, Angular, React, and Vue.js to create a full-stack development environment with best practices baked in.

Pros

  • Rapid application development with code generation for both frontend and backend
  • Supports multiple frontend frameworks (Angular, React, Vue.js) and database options
  • Built-in security features and best practices
  • Extensive documentation and active community support

Cons

  • Steep learning curve for developers new to the included technologies
  • Generated code can be complex and may require customization
  • Opinionated architecture might not fit all project requirements
  • Regular updates can sometimes introduce breaking changes

Code Examples

  1. Generating a new JHipster application:
jhipster

This command starts the interactive generator to create a new JHipster project.

  1. Adding a new entity to the application:
jhipster entity Book

This generates a new entity named "Book" with CRUD operations and corresponding frontend components.

  1. Running the application in development mode:
./mvnw

This command starts the backend Spring Boot application.

npm start

This command starts the frontend development server.

Getting Started

  1. Install JHipster:
npm install -g generator-jhipster
  1. Create a new directory and generate a JHipster application:
mkdir myapp && cd myapp
jhipster
  1. Follow the prompts to configure your application.

  2. Run the application:

./mvnw
npm start
  1. Access your application at http://localhost:8080 in your web browser.

Competitor Comparisons

Spring Boot

Pros of Spring Boot

  • More lightweight and flexible, allowing developers to choose components
  • Extensive documentation and large community support
  • Faster startup time and lower memory footprint

Cons of Spring Boot

  • Requires more manual configuration and boilerplate code
  • Less opinionated, which can lead to inconsistencies across projects
  • Steeper learning curve for beginners

Code Comparison

Spring Boot:

@SpringBootApplication
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}

JHipster:

@SpringBootApplication
@EnableConfigurationProperties({LiquibaseProperties.class, ApplicationProperties.class})
public class MyApp {
    public static void main(String[] args) {
        SpringApplication app = new SpringApplication(MyApp.class);
        DefaultProfileUtil.addDefaultProfile(app);
        Environment env = app.run(args).getEnvironment();
        logApplicationStartup(env);
    }
}

Spring Boot provides a simpler entry point, while JHipster includes additional configuration and utilities out of the box. JHipster's generated code is more opinionated and comes with pre-configured features, whereas Spring Boot allows for more customization but requires manual setup of additional components.

66,731

A progressive Node.js framework for building efficient, scalable, and enterprise-grade server-side applications with TypeScript/JavaScript 🚀

Pros of Nest

  • Highly modular and flexible architecture, allowing for easy customization and scalability
  • Strong TypeScript support with decorators for enhanced type safety and developer experience
  • Built-in dependency injection system for better code organization and testability

Cons of Nest

  • Steeper learning curve, especially for developers new to TypeScript or decorators
  • Less opinionated than JHipster, requiring more manual configuration for certain features
  • Smaller ecosystem compared to JHipster, with fewer out-of-the-box integrations

Code Comparison

Nest controller example:

@Controller('cats')
export class CatsController {
  @Get()
  findAll(): string {
    return 'This action returns all cats';
  }
}

JHipster entity example:

@Entity()
@Table(name = "cat")
public class Cat implements Serializable {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    @Column(name = "name")
    private String name;
}

Both frameworks offer powerful features for building web applications, but they cater to different needs. Nest focuses on providing a flexible, modular architecture with strong TypeScript support, while JHipster offers a more opinionated, full-stack solution with extensive code generation capabilities. The choice between them depends on project requirements and developer preferences.

55,550

Ruby on Rails

Pros of Rails

  • Mature ecosystem with extensive libraries (gems) and community support
  • Convention over configuration approach speeds up development
  • Built-in testing framework and database migrations

Cons of Rails

  • Less flexibility in technology stack choices
  • Steeper learning curve for developers new to Ruby
  • Performance can be slower compared to some modern frameworks

Code Comparison

Rails (config/routes.rb):

Rails.application.routes.draw do
  resources :users
  root 'home#index'
end

JHipster (src/main/webapp/app/app.route.ts):

const routes: Routes = [
  {
    path: '',
    component: NavbarComponent,
    outlet: 'navbar'
  },
  {
    path: 'home',
    component: HomeComponent
  }
];

Rails focuses on Ruby-based configuration with a more concise syntax, while JHipster uses TypeScript and Angular for routing, offering more explicit definitions. Rails emphasizes convention, whereas JHipster provides more granular control over the application structure.

Both frameworks aim to streamline development, but Rails leans towards simplicity and rapid prototyping, while JHipster offers a more comprehensive, enterprise-ready solution with a wider range of technology choices.

78,107

Laravel is a web application framework with expressive, elegant syntax. We’ve already laid the foundation for your next big idea — freeing you to create without sweating the small things.

Pros of Laravel

  • Simpler learning curve and easier to get started for PHP developers
  • Extensive documentation and large community support
  • Built-in features like authentication, routing, and ORM out of the box

Cons of Laravel

  • Limited to PHP ecosystem, less versatile for full-stack development
  • Lacks built-in support for modern front-end frameworks
  • May require additional setup for complex, enterprise-level applications

Code Comparison

Laravel (routes/web.php):

Route::get('/', function () {
    return view('welcome');
});

JHipster (generated Angular component):

@Component({
  selector: 'jhi-main',
  templateUrl: './main.component.html'
})
export class MainComponent implements OnInit {
  constructor() {}
  ngOnInit() {}
}

Laravel focuses on simple, expressive PHP syntax for backend development, while JHipster generates a full-stack application with separate frontend and backend code. JHipster's generated code is more complex but provides a complete structure for large-scale applications.

Laravel is ideal for PHP developers looking for a quick start and robust backend framework. JHipster suits developers needing a comprehensive full-stack solution with modern technologies and scalability in mind.

64,773

Fast, unopinionated, minimalist web framework for node.

Pros of Express

  • Lightweight and minimalist framework, offering flexibility and customization
  • Extensive ecosystem with a wide range of middleware and plugins
  • Simple and intuitive API, making it easy to learn and use

Cons of Express

  • Requires more manual setup and configuration for complex applications
  • Less opinionated, which can lead to inconsistent project structures
  • Lacks built-in features for enterprise-level applications

Code Comparison

Express:

const express = require('express');
const app = express();

app.get('/', (req, res) => {
  res.send('Hello World!');
});

JHipster:

@RestController
@RequestMapping("/api")
public class HelloController {
    @GetMapping("/hello")
    public String hello() {
        return "Hello World!";
    }
}

Express provides a more concise and straightforward approach to creating routes, while JHipster uses a more structured, Java-based approach with annotations.

Express is ideal for developers who want full control over their application structure and prefer a minimalist approach. JHipster, on the other hand, is better suited for enterprise-level applications that require a comprehensive, opinionated framework with built-in features and best practices.

62,681

🚀 Strapi is the leading open-source headless CMS. It’s 100% JavaScript/TypeScript, fully customizable and developer-first.

Pros of Strapi

  • User-friendly admin panel for content management
  • Flexible and customizable content structure
  • Rapid API development with automatic REST and GraphQL endpoints

Cons of Strapi

  • Less suitable for complex, enterprise-level applications
  • Limited built-in authentication and authorization options
  • Steeper learning curve for developers new to headless CMS concepts

Code Comparison

Strapi (Content Type definition):

module.exports = {
  attributes: {
    title: {
      type: 'string',
      required: true,
    },
    content: {
      type: 'richtext',
    },
  },
};

JHipster (Entity definition):

@Entity
public class Article {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    @NotNull
    private String title;

    @Lob
    private String content;
}

Strapi focuses on content management with a flexible schema, while JHipster generates a full-stack application with a more rigid, Java-based entity structure. Strapi's approach is more suitable for content-driven applications, whereas JHipster is better for complex business logic and enterprise applications.

Convert Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

Logo

NPM version Downloads Gitter Known Vulnerabilities Package Health

Generator Build Status Angular Build Status React Build Status Vue Build Status Revved up by Develocity

Greetings, Java Hipster!

Full documentation and information is available on our website at https://www.jhipster.tech/

Please read our guidelines before submitting an issue. If your issue is a bug, please use the bug template pre-populated here. For feature requests and queries you can use this template. If you have found a potential security issue, please read our security policy and contact us privately first: https://github.com/jhipster/generator-jhipster/security/policy

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.

Supported Java and Node versions

The following Java and Node combinations are tested and verified by GitHub Actions:

JavaNodeStatus
17/21/2218/20✅

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

Daily Builds

Additional builds at hipster-labs/jhipster-daily-builds

Pipeline Status
Angular Maven SQL
Angular Maven NoSQL
Angular Gradle SQL
Angular Gradle NoSQL
React Maven SQL
React Maven NoSQL
React Gradle SQL
React Gradle NoSQL
Vue Maven SQL
Vue Maven NoSQL
Vue Gradle SQL
Vue Gradle NoSQL
Elasticsearch
Monolith OAuth 2.0
No Database
Microservices JWT
Microservices OAuth 2.0
Docker Image
Official Windows

Analysis of the sample JHipster project

sonar-quality-gate sonar-coverage sonar-bugs sonar-vulnerabilities sonar-sample-code-smells-badge

NPM DownloadsLast 30 Days