I would love to have your feedback on a dynamic boilerplate I just built with Slim 4, MySQL & Docker.
This boilerplate provides a RESTful API with session management stored in Redis
As a special feature, this boilerplate embed a data-models driven code designed for Hapify.io automation engine
For each data models, the automation engine will instantly output these routes : create, read, update, delete, search and count, including user permissions.
The automation engine has a functional approach of the data-modeling. For instance:
if you define the
nameproperty in a
usermodel as searchable, then a search and count routes will automatically be created, allowing you to filter users by name.
if you define that an object like a
placeis updatable only by its owner, then the generated route
PATCH /placewill automatically check if the caller is the place owner or admin.
To learn more about this modeling approach you can browse the documentation
Back to our Slim boilerplate, if you would like to see a quick example of generated project , you can download this ZIP file.
If you want to try directly Hapify, you can either refer to the get started or follow these steps:
- Install the hapify-cli:
npm i -g hapify-cli
- Connect the hapify-cli to our demo user
hpf key Y5xk5O4QGMZqRVnI341gxyaVbfQvEwd2ZtTNTHWgAb7pLglD
- Create an empty folder for the demo
mkdir slim-demo && cd slim-demo
- Clone the boilerplate and connect it to the example project
hpf new --boilerplate slim_php_tractr --project 5e56a84257b31a0010383107
- If you would like to edit data-models and/or code templates, you can run:
- Generate the code
Now you can browse the boilerplate’s code especially the generated part.
If you want to edit the project again, you may run
hpf generate to update the output code.
If you want to run the API (with Docker) please follow the step 3 in the README.md file
Now that you have a running API, you may want to connect a front-end to it. Let’s use an Angular Dashboard.
In a new folder, run these commands:
hpf new --boilerplate ngx_dashboard_tractr --project 5e56a84257b31a0010383107 hpf generate npm install npm start
Here is more information about this boilerplate.
If you did go through this, thank you for your time.
We are really looking for your feedbacks!!