corollarium/modelarium

从模式生成前端和后端脚手架

v0.5.2 2021-09-29 18:07 UTC

README

License: MIT Build Status Code Coverage Scrutinizer Code Quality Latest Stable Version Total Downloads Scrutinizer Code Quality

Modelarium根据您API的GraphQL描述为您的项目生成脚手架。它可以创建整个后端和前端文件,只留下逻辑和设计供您完成。

  • 为您生成后端脚手架:模型、数据库迁移、种子、工厂、事件、策略。所有内容均来自您的GraphQL描述。不再需要繁琐的文件创建和重复的代码。
  • 数据类型:您的数据不仅仅是字符串。您有结构模型,因此也有字段的数据类型。创建正确的数据库字段,无需思考。使用Formularium数据类型
  • 验证:基于您的数据类型自动进行透明数据验证。您的数据始终得到安全验证。
  • 无性能损失:除了数据验证外,所有数据都在开发时生成。它只是自动脚手架,一切就像以前一样快。
  • 无新标准:生成的代码遵循现有工具的现有标准。生成代码并自由使用。没有任何束缚。
  • 前端生成:使用您喜欢的CSS框架(Bootstrap、Bulma、Materialize、Buefy)自动为您生成HTML表单、卡片、列表和视图,只需简单的声明和标准描述。之后您可以调整细节 - 它只是代码。
  • 响应式框架:获取Vue和React组件(如卡片、表单、列表和表格),它们可以直接使用,并带有GraphQL调用。
  • 与Laravel和Lighthouse集成。自动获取GraphQL端点。

它不做什么

  • 魔法。您仍然需要在后端编写代码逻辑来处理请求,例如在突变或模型中的特殊条件。您也只得到一个基本设计,因此漂亮的CSS取决于您。
  • 生成REST端点。目前仅通过Laravel和Lighthouse支持GraphQL。REST端点可能以后会支持。
  • 其他后端框架。目前仅支持Laravel。

文档

查看Modelarium完整文档

查看hello world项目

查看示例项目

赞助商

Corollarium

快速概述

这是一个Graphql文件,它复制了Laravel的默认User模型。请注意Email数据类型以及用于创建数据库的@migration指令。

type User
  @migrationRememberToken
  @migrationSoftDeletes
  @migrationTimestamps
  @modelExtends(class: "Illuminate\\Foundation\\Auth\\User")
  @modelNotifiable {
  id: ID!
  name: String!
    @modelFillable
    @renderable(label: "Name", comment: "Please fill with your fullname")
  password: String! @modelHidden @modelFillable
  email_verified_at: Timestamp @casts(type: "datetime")
  email: Email! @migrationUniqueIndex @modelFillable
}

这是一个示例Post模型,其中包含用于验证和数据生成的自定义数据类型

type Post @migrationTimestamps {
  id: ID!
  title: Title!
  description: Text!
  user: User! @belongsTo @foreign(onDelete: "cascade", onUpdate: "cascade")
}

贡献contributions welcome

任何贡献都受欢迎。请发送PR。