PingCRM is a demo application built with Laravel 12, Inertia.js v2, React 19, and Tailwind CSS v4. It demonstrates how to build modern, full-stack applications with these technologies while showcasing many advanced Laravel features.
- Laravel 12: The latest version of Laravel
- Inertia.js v2: With SSR
- React 19: The latest version of React
- Tailwind CSS v4: With shadcn
- TypeScript
- Bun: npm replacement
- Internationalization: i18next for seamless multi-language support (EN/FR)
- Laravel Features:
- Queue processing with Horizon
- Task scheduling
- Real-time websockets with Reverb
- Octane
- MariaDB
- Valkey: Redis-compatible key-value store
- FrankenPHP: PHP 8.4
You can use either DDEV (Docker) or Herd to run this project for local development.
-
Clone this repository:
git clone https://github.com/fouteox/pingcrm-react-inertia-laravel.git cd pingcrm-react-inertia-laravel -
Start the application:
ddev start && ddev launch
That's it! This single command will:
- Install PHP dependencies (Composer)
- Install Node.js dependencies (Bun)
- Run database migrations and seeders
- Start Horizon for queue processing
- Configure and start the task scheduler
- Start Reverb for websocket functionality
- Launch the application in your browser
- Install Herd
- Have a running MariaDB instance (or MySQL)
- Have Redis installed for queues
You can install the application using either Make (recommended) or manual steps:
Make is a build automation tool that helps to automate tasks. It's typically pre-installed on many operating systems. To check if it's installed, run make --version in your terminal.
If needed, install Make:
- On macOS:
brew install make - On Windows: Install via Chocolatey with
choco install makeor via Scoop withscoop install make - On Ubuntu/Debian:
sudo apt install make
Once Make is installed:
-
Clone this repository:
git clone https://github.com/fouteox/pingcrm-react-inertia-laravel.git cd pingcrm-react-inertia-laravel -
Initialize the application with a single command:
make init
This command will automatically:
- Copy the .env.herd file to .env
- Install PHP dependencies with Composer
- Generate an application key
- Run database migrations
- Seed the database with test data
- Install JavaScript dependencies (with Bun if available, otherwise with npm)
If you prefer not to use Make:
-
Clone this repository:
git clone https://github.com/fouteox/pingcrm-react-inertia-laravel.git cd pingcrm-react-inertia-laravel -
Configure the environment:
cp .env.herd .env composer install php artisan key:generate php artisan migrate --force php artisan db:seed
-
Install JavaScript dependencies:
# If you have Bun installed bun install # Otherwise, use npm npm install --legacy-peer-deps
After installation (whether using Make or manual steps), launch the application with:
composer run devThis single command will start both Horizon for queue processing and the frontend development server simultaneously.
The project includes a GitHub Actions workflow for deploying to your own server using Cloudflare Tunnels. I personally host the live demo version on a Raspberry Pi. A detailed tutorial on self-hosting this application will be available soon, documenting the process of setting up a production environment on low-cost hardware with Cloudflare Tunnel for secure remote access.
The original Vue.js version was created by Jonathan Reinink. A React version was later created by Lior Rocks, which served as inspiration for this implementation.