PNinja PNinja

PNinja

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

License npm version Downloads GitHub Repository Known Vulnerabilities

License

This project is licensed under the Apache License 2.0 — see the LICENSE.txt file for details.

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.

Core Features

Authentication & Authorization

Data Management

Search & Indexing

Accessibility & UX

Internationalization

Modern UI/UX

DevOps Ready

Supported Technologies and Limitations

Server Framework (PHP)

Client Frameworks

Databases

Authentication

Authorization

Search Engines

Frontend Libraries

Internationalization

Roadmap

GitHub Repository

The source code for generator-pninja is hosted on GitHub. You can access the official repository at the following link:

Generator PNinja GitHub Repository

Contributing

Contributions are welcome! Feel free to open issues or pull requests on the GitHub repository.

Support

For issues, questions, or feature requests, please use the GitHub Issues page.

Test Sandbox

# 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"