{"id":14966637,"url":"https://github.com/logicent/crudle","last_synced_at":"2025-10-25T17:30:33.799Z","repository":{"id":41952192,"uuid":"459934569","full_name":"logicent/crudle","owner":"logicent","description":"A starter kit for data-driven applications and content framework for web projects","archived":false,"fork":false,"pushed_at":"2023-01-10T07:14:16.000Z","size":2566,"stargazers_count":10,"open_issues_count":0,"forks_count":1,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-01-31T09:22:34.772Z","etag":null,"topics":["cms-framework","crud-functionality","php","starter-kit","yii2-framework"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/logicent.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-02-16T09:26:59.000Z","updated_at":"2024-10-22T14:28:26.000Z","dependencies_parsed_at":"2022-08-27T08:02:18.970Z","dependency_job_id":null,"html_url":"https://github.com/logicent/crudle","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/logicent%2Fcrudle","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/logicent%2Fcrudle/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/logicent%2Fcrudle/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/logicent%2Fcrudle/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/logicent","download_url":"https://codeload.github.com/logicent/crudle/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":238183600,"owners_count":19430153,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cms-framework","crud-functionality","php","starter-kit","yii2-framework"],"created_at":"2024-09-24T13:36:44.014Z","updated_at":"2025-10-25T17:30:27.370Z","avatar_url":"https://github.com/logicent.png","language":"PHP","readme":"**_Note: This is a beta version of the software. You are advised to proceed with caution!_**\n\n### Introduction\n\n**Overview**\n\nA free and open source web development starter kit for building ready to go enterprise applications.\n\n**Installation**\n\nPrerequisites\n- Git\n- Composer\n- NPM\n\nOption 1: via Composer\n- Run `composer create-project logicent/crudle:dev-main \u0026\u0026 cd crudle`\n\nOption 2: via CLI\n- Run `git clone git@github.com:logicent/crudle.git \u0026\u0026 cd crudle`\n- Run `composer install`\n\nContinue:\n- Create a database and update `sites/.env` settings\n- Run `./crudle migrate --migrationPath sites/database/migrations'`\n- Run `cat sites/database/scripts/crdl_People.sql | mysql -u \u003cmy_root_user\u003e -p \u003cmy_db_name\u003e`\n- Run `./crudle user/user/create-superuser 'my_password'` and `./crudle user/rbac/init`\n- Run `./crudle serve -t sites/web` in local environment or use preferred web server in production\n\n### System Architecture\n\n**Context**\n\nCrudle (CRUD logic extensions) is a meta framework for rapid application development and customization using a modified project template, some predefined coding conventions and a fully-fledged admin backend built with Fomantic UI.\n\n**Containers**\n- backend   (App)\n- codegen   (Kit)\n- modules   (Ext)\n\n**Components**\n\n_Main page_ - to provide custom interaction components built for end-users\n- **Workspace** - view the workspaces created to show favorite menus and widgets\n- **Dashboard** - view the dashboards created using the dashboard + widgets tool\n- **Report** - view the reports created with report builder to show query result\n\n_Setup page_ - to provide visibility and customization tools for end-users\n- **System** - configure general settings and layout (UI) preferences and menus\n- **Data Tool** - import and/or export data, create/modify domain master models\n- **Email Sending** - create email notifications, templates, check email queues\n- **Data Storage** - configure backups and manage file storage and system cache\n- **People** - add users, user groups, roles and permissions and view user logs\n- **Printing** - create print styles, print formats and configure print devices\n\n_App modules_ - contains core app functionality like auth, crud, email, map etc\n- **backend/database** provides tool to interact with DB connection and storage\n- **backend/main** to define app-level enums and provide reusable app functions\n- **backend/listing** to display a set of records in multi-record visualization\n- **backend/workflow** to define approval routing, change triggers and statuses\n\n_Ext modules_\n- **modules/web_cms** - to set up a website for data publishing and interaction\n\n_Sites_\n- **sites/config** to define global config settings\n- **sites/database** to define DB scripts and seeds\n- **sites/storage** to hold shared data \u0026 resources\n- **sites/web** to define global JS and CSS scripts\n\n### Technology Stack\n**Programming Languages and Frameworks**\n- PHP 8.0 using Yii2 and JavaScript using jQuery\n- Yii2-crudle dockerized _(optional - todo later)_\n- Deploy via deployer _(optional - todo later)_\n\n**Templating**\n- Twig _(to consider)_\n\n**Databases Supported**\n- MySQL 8.0 (or equivalent MariaDB version)\n- SQLite _(to be tested)_\n- PostgreSQL _(todo later)_\n- SQLite (offline) _(todo later)_\n\n**UI Frameworks, Components and Libraries**\n- Fomantic UI 2.9\n- HTMX 2\n- Fullcalendar 5.11\n- LeafletJS 1.9\n\n**Web Servers**\n- PHP built-in web server via `./crudle serve -t sites/web` (Development)\n- Nginx via PHP-FPM (Production)\n- RoadRunner 2 _(todo later)_\n\n**Process Manager** _(to consider)_\n- Development\n- Production\n\n**Job Queues**\n- Redis _(todo later)_\n\n**Caching**\n- Redis _(todo later)_\n\n**Realtime**\n- Web sockets using HTMX 2 _(todo later)_\n\n**Command Line**\n- Using built-in commands via console app\n\n### Roadmap\n_Now:_\n- [x] Increase the UI layout width, add a pinable sidebar and editable menus\n- [x] Improve all the end-user system tools, app preferences and performance\n- [x] Upgrade to latest Yii2 using PHP 8.0 and MySQL 8.0 and Fomantic UI 2.9\n\n_Next:_\n- [x] Add multi-tenant (sites) support in template + init script for instances\n- [ ] Email templates for sending mails + attachments of documents and reports\n- [ ] Print templates and formatting styles (script) for documents and reports\n- [ ] Create Yii extensions for the tools and starter kit as composer packages\n\n_Later:_\n- [ ] Write UI, workflows and DB tests using either PestPHP or PHPUnit\n- [ ] Use hybrid of Php Auth Manager _(predefined)_ and Db Auth Manager _(user-defined)_\n- [ ] Upgrade to Yii3 (with CycleORM datamapper) using Bulma and Buefy\n\n**Want to contribute?**\nThank you for considering to make a contribution to Crudle.\nNew contributors to improve the solution further or help provide support to issues are most welcome.\n\n**License**\nCrudle is released under the [BSD-3-Clause](https://opensource.org/licenses/BSD-3-Clause).","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flogicent%2Fcrudle","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flogicent%2Fcrudle","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flogicent%2Fcrudle/lists"}