PNinja is a Yeoman generator that allows you to build an entire stack application:
All based on a single JDL file describing your domain!
Install Yeoman and PNinja:
npm install -g yo generator-pninja
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 ⚡
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.
# 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"