{"id":22108815,"url":"https://github.com/logicent/masomo","last_synced_at":"2026-02-09T04:36:32.553Z","repository":{"id":138263652,"uuid":"586222036","full_name":"logicent/masomo","owner":"logicent","description":"A learning and administrative planning app with tools for schools and trainers","archived":false,"fork":false,"pushed_at":"2023-01-07T13:44:25.000Z","size":540,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"develop","last_synced_at":"2025-08-01T10:53:51.179Z","etag":null,"topics":["learning","schools","students","teachers","training"],"latest_commit_sha":null,"homepage":"","language":null,"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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-01-07T11:29:36.000Z","updated_at":"2023-01-07T13:56:46.000Z","dependencies_parsed_at":null,"dependency_job_id":"fec42511-cd3e-4a8f-a211-70493fd575e4","html_url":"https://github.com/logicent/masomo","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/logicent/masomo","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/logicent%2Fmasomo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/logicent%2Fmasomo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/logicent%2Fmasomo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/logicent%2Fmasomo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/logicent","download_url":"https://codeload.github.com/logicent/masomo/tar.gz/refs/heads/develop","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/logicent%2Fmasomo/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29256712,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-09T04:11:57.159Z","status":"ssl_error","status_checked_at":"2026-02-09T04:11:56.117Z","response_time":56,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["learning","schools","students","teachers","training"],"created_at":"2024-12-01T09:19:05.970Z","updated_at":"2026-02-09T04:36:32.520Z","avatar_url":"https://github.com/logicent.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"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/yii2-crudle:dev-main \u0026\u0026 cd yii2-crudle`\n\nOption 2: via CLI\n- Run `git clone git@github.com:logicent/yii2-crudle.git \u0026\u0026 cd yii2-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\nYii2 Crudle (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 Yii2 Crudle.\nNew contributors to improve the solution further or help provide support to issues are most welcome.\n\n**License**\nYii2 Crudle is released under the [BSD-3-Clause](https://opensource.org/licenses/BSD-3-Clause).","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flogicent%2Fmasomo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flogicent%2Fmasomo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flogicent%2Fmasomo/lists"}