logicent/crudle

Crudle

安装: 10

依赖项: 0

建议者: 0

安全: 0

星星: 8

关注者: 4

分支: 1

开放问题: 0

类型:项目

This package is auto-updated.

Last update: 2024-09-10 12:07:07 UTC


README

注意:这是该软件的测试版。请谨慎使用!

介绍

概述

一款免费开源的Web开发入门套件,用于构建现成企业级应用程序。

安装

先决条件

  • Git
  • Composer
  • NPM

选项1:通过Composer

  • 运行 composer create-project logicent/crudle:dev-main && cd crudle

选项2:通过CLI

  • 运行 git clone git@github.com:logicent/crudle.git && cd crudle
  • 运行 composer install

继续

  • 创建数据库并更新 sites/.env 设置
  • 运行 ./crudle migrate --migrationPath sites/database/migrations'
  • 运行 cat sites/database/scripts/crdl_People.sql | mysql -u <my_root_user> -p <my_db_name>
  • 运行 ./crudle user/user/create-superuser 'my_password'./crudle user/rbac/init
  • 在本地环境运行 ./crudle serve -t sites/web 或在生产环境中使用首选的Web服务器

系统架构

上下文

Crudle(CRUD逻辑扩展)是一个使用修改后的项目模板、一些预定义的编码约定和用Fomantic UI构建的完整后端构建的元框架,用于快速应用程序开发和定制。

容器

  • backend (App)
  • codegen (Kit)
  • modules (Ext)

组件

主页 - 提供为最终用户构建的自定义交互组件

  • 工作空间 - 查看创建的工作空间以显示喜爱的菜单和小部件
  • 仪表板 - 查看使用仪表板+小部件工具创建的仪表板
  • 报告 - 查看使用报告构建器创建的报告以显示查询结果

设置页面 - 提供为最终用户提供的可见性和自定义工具

  • 系统 - 配置常规设置和布局(UI)首选项和菜单
  • 数据工具 - 导入/导出数据,创建/修改域主模型
  • 发送邮件 - 创建电子邮件通知,模板,检查电子邮件队列
  • 数据存储 - 配置备份并管理文件存储和系统缓存
  • 人员 - 添加用户,用户组,角色和权限,并查看用户日志
  • 打印 - 创建打印样式,打印格式并配置打印设备

应用程序模块 - 包含核心应用程序功能,如身份验证,CRUD,电子邮件,地图等

  • backend/database 提供与数据库连接和存储交互的工具
  • backend/main 用于定义应用程序级别的枚举并提供可重用的应用程序功能
  • backend/listing 用于在多记录可视化中显示一组记录
  • backend/workflow 用于定义审批路由,更改触发器和状态

扩展模块

  • modules/web_cms - 用于设置数据发布和交互的网站

站点

  • sites/config 用于定义全局配置设置
  • sites/database 用于定义数据库脚本和种子
  • sites/storage 用于存储共享数据和资源
  • sites/web 用于定义全局JS和CSS脚本

技术堆栈

编程语言和框架

  • PHP 8.0 使用 Yii2 和 JavaScript 使用 jQuery
  • Yii2-crudle dockerized (可选 - 待办事项)
  • 通过 deployer 部署 (可选 - 待办事项)

模板

  • Twig (考虑)

支持的数据库

  • MySQL 8.0(或等效的 MariaDB 版本)
  • SQLite (待测试)
  • PostgreSQL (待办事项)
  • SQLite(离线)(待办事项)

UI 框架、组件和库

  • Fomantic UI 2.9
  • HTMX 2
  • Fullcalendar 5.11
  • LeafletJS 1.9

Web 服务器

  • PHP 内置 Web 服务器通过 ./crudle serve -t sites/web(开发环境)
  • Nginx 通过 PHP-FPM(生产环境)
  • RoadRunner 2 (稍后处理)

进程管理器 (考虑中)

  • 开发
  • 生产

工作队列

  • Redis (稍后处理)

缓存

  • Redis (稍后处理)

实时性

  • 使用 HTMX 2 的 Web sockets(稍后处理)

命令行

  • 通过控制台应用程序使用内置命令

路线图

现在

  • 增加 UI 布局宽度,添加可固定的侧边栏和可编辑菜单
  • 改进所有终端用户系统工具、应用首选项和性能
  • 升级到使用 PHP 8.0 和 MySQL 8.0 以及 Fomantic UI 2.9 的最新 Yii2

下一个

  • 在模板中添加多租户(站点)支持,并为实例添加初始化脚本
  • 发送邮件的电子邮件模板,以及文档和报告的附件
  • 为文档和报告创建打印模板和格式化样式(脚本)
  • 将工具和入门套件创建为 composer 包的 Yii 扩展

稍后

  • 使用 PestPHP 或 PHPUnit 编写 UI、工作流和 DB 测试
  • 使用 Php Auth Manager (预定义) 和 Db Auth Manager (用户定义) 的混合体
  • 使用 Bulma 和 Buefy 升级到 Yii3(带有 CycleORM 数据映射器)

想要贡献? 感谢您考虑为 Crudle 做出贡献。欢迎新贡献者进一步改进解决方案或帮助提供支持。

许可协议 Crudle 在 BSD-3-Clause 许可协议下发布。