PNinja PNinja

PNinja

Generate a full Laravel + React + Vite application from a single JDL model.
Backend + Frontend + Docker + Database — ready in seconds ⚡

npm version npm downloads per month GitHub Repository Apache License 2.0

What is PNinja?

PNinja is a Yeoman generator that allows you to build an entire stack application:

All based on a single JDL file describing your domain!

Installation

Install Yeoman and PNinja:

npm install -g yo generator-pninja

Usage

Create your entity definition file using JDL:

touch entities.jdl # or any other name of your choice

and edit it using this guide: https://www.jhipster.tech/jdl/intro/

Run the generator:

yo pninja

Answer a few prompts ... and you're ready ⚡

What you get

my-app/
  ├── client/ # React + Vite app
  ├── docker/ # Docker compose
  ├── server/ # Laravel project
  ├── package.json # With commands
  └── README.md

Fully wired together: auth, routing, forms, CRUD, migrations.

Supported Technologies and Limitations

Server Framework (PHP)

Client Frameworks

Databases

Authentication

Search Engines

Roadmap

Sandbox di prova

# Dockerfile
FROM php:8.2-fpm

RUN apt-get update && apt-get install -y \
    vim \
    curl \
    unzip \
    git \
    libonig-dev \
    && rm -rf /var/lib/apt/lists/*

RUN docker-php-ext-install mbstring
RUN curl -sS https://getcomposer.org/installer | php && \
    mv composer.phar /usr/local/bin/composer

RUN useradd -ms /bin/bash developer

USER developer
WORKDIR /home/developer

RUN curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh | bash && \
    bash -c "source ~/.nvm/nvm.sh && \
    nvm install node && \
    npm install -g yo pninja"