A Mithril.js demo application to illustrate how Inertia.js works.
With Inertia you are able to build single-page applications using classic server-side routing and controllers, without building an API.
This application is a port of the original Ping CRM written in Laravel and Vue.js.
The frontend is written in Mithril.js, a modern client-side JavaScript framework for building Single Page Applications. The backend is edited as little as possible to enable direct comparison between Mithril.js and Vue.js, and to merge the upstream repository into this fork without effort.
https://pingcrm-mithril.tebe.ch
Clone the repo locally:
git clone https://github.com/inertiajs/pingcrm.git pingcrm
cd pingcrm
Install PHP dependencies:
composer install
Install NPM dependencies:
npm ci
Build assets:
npm run dev
Setup configuration:
cp .env.example .env
Generate application key:
php artisan key:generate
Create an SQLite database. You can also use another database (MySQL, Postgres), simply update your configuration accordingly.
touch database/database.sqlite
Run database migrations:
php artisan migrate
Run database seeder:
php artisan db:seed
Run the dev server (the output will give the address):
php artisan serve
You're ready to go! Visit Ping CRM in your browser, and login with:
- Username: johndoe@example.com
- Password: secret
To run the Ping CRM tests, run:
phpunit
- Original work by Jonathan Reinink (@reinink) and contributors
- Port to Mithril.js by Thomas Breuss (@tbreuss)