Awesome
Ping CRM on Grails
A demo application built with Grails and Vue.js to illustrate how Inertia.js works.
It uses the Grails Adapter for Inertia.js plugin.
[!NOTE] This is a port to Grails/Groovy of the original Ping CRM written in Laravel/PHP.
[!NOTE] There is a live demo of this application at: https://pingcrm.mattiasreichel.com
The demo is running in a container that is destroyed/recreated at the top of every hour.
Please be respectful when editing data!
Requirements
- Java 17+
- Npm
Installation
Clone the repo locally
git clone https://github.com/matrei/pingcrm-grails.git
cd pingcrm-grails
Install client dependencies
npm install
Running
In development mode ...
Serve client files with hot module replacement
npm run serve
and start the grails application
./gradlew bootRun
... or in production mode
with bundled/minified client files
./gradlew -Dgrails.env=production bootRun
You're ready to go!
Visit Ping CRM in your browser - http://localhost:8080
Running tests
To run the Ping CRM test suite, run:
./gradlew check
Build for production
To create a runnable war for production (in ~/pingcrm-grails/build/libs
)
./gradlew assemble
that can be run with:
java -jar build/libs/pingcrm-grails-3.3.3-SNAPSHOT.war
SSR
To run the application in server-side rendering mode, you need node >= v18 installed on your system.
SSR is disabled by default. To enable it, set the inertia.ssr.enabled
config property to true
in application.yml
.
The default location of the SSR bundle is src/main/resources/ssr/ssr.mjs
.
You can change it by setting/adding the inertia.ssr.bundle
config property.
Credits
- Port to Grails by Mattias Reichel (@mattias_reichel)
- Original work by Jonathan Reinink (@reinink) and contributors