Sharp is not a CMS: it's a content management framework, a toolset which provides help building a CMS section in a website, with some rules in mind:
- the public website should not have any knowledge of the CMS — the CMS is a part of the system, not the center of it. In fact, removing the CMS should not have any effect on the project.
- The CMS should not have any expectations from the persistence layer: MySQL is cool — but it's not the perfect tool for every problem. And more important, the DB structure has nothing to do with the CMS.
- Content administrators should work with their data and terminology, not CMS terms. I mean, if the project is about spaceships, space travels and pilots, why would the CMS talk about articles, categories and tags?
- website developers should not have to work on the front-end development for the CMS. Yeah. Because life is complicated enough, Sharp takes care of all the responsive / CSS / JS stuff.
Sharp intends to provide a clean solution to the following needs:
- create, update or delete any structured data of the project, handling validation and errors;
- display, search, sort or filter data;
- execute custom commands on one instance, a selection or all instances;
- handle authorizations and validation;
- all without write a line of front code, and using a clean API in the PHP app.
Sharp 4 needs Laravel 5.5+ and PHP 7.1.3+.
The full documentation is available here: sharp.code16.fr/docs.
A Sharp instance for a dummy demo project is online here: sharp.code16.fr/sharp/. Use these accounts to login:
- admin@example.com / secret
- boss@example.com / secret (has a few more permissions)
Data of this demo is reset each hour.
Here's a series of blog posts which present Sharp following a simple example:
And a few more articles on specific features: