Skip to content

bsormagec/react-inertia-laravel

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PingCRM - Modern Laravel Example Application

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.

Features

Backend Infrastructure

Getting Started

You can use either DDEV (Docker) or Herd to run this project for local development.

Option 1: DDEV (Docker)

Prerequisites

Setup

  1. Clone this repository:

    git clone https://github.com/fouteox/pingcrm-react-inertia-laravel.git
    cd pingcrm-react-inertia-laravel
  2. 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

Option 2: Herd

Prerequisites

  • Install Herd
  • Have a running MariaDB instance (or MySQL)
  • Have Redis installed for queues

Installation

You can install the application using either Make (recommended) or manual steps:

Option A: Using Make (recommended)

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 make or via Scoop with scoop install make
  • On Ubuntu/Debian: sudo apt install make

Once Make is installed:

  1. Clone this repository:

    git clone https://github.com/fouteox/pingcrm-react-inertia-laravel.git
    cd pingcrm-react-inertia-laravel
  2. 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)
Option B: Manual Installation

If you prefer not to use Make:

  1. Clone this repository:

    git clone https://github.com/fouteox/pingcrm-react-inertia-laravel.git
    cd pingcrm-react-inertia-laravel
  2. Configure the environment:

    cp .env.herd .env
    composer install
    php artisan key:generate
    php artisan migrate --force
    php artisan db:seed
  3. Install JavaScript dependencies:

    # If you have Bun installed
    bun install
    
    # Otherwise, use npm
    npm install --legacy-peer-deps

Launching the Application

After installation (whether using Make or manual steps), launch the application with:

composer run dev

This single command will start both Horizon for queue processing and the frontend development server simultaneously.

Deployment

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.

Credits

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.

About

Laravel - Inertia.js - React

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 69.6%
  • PHP 28.2%
  • CSS 0.7%
  • Shell 0.6%
  • JavaScript 0.4%
  • Dockerfile 0.3%
  • Other 0.2%