Prisma-CMS作为快速创建MVP的引擎

当然,许多人已经听说过MVP( Wiki最低可行产品)的概念。 关于MVP的文章中有很多关于MVP的文章,但是基本上,这仅仅是对MVP的含义及其用途的描述,或者是各种成功的故事,而不是故事。 但是我没有找到一篇描述MVP在做什么的文章。 但据信,个人博客更容易在一个引擎上创建,而在线商店在另一个引擎上等等。 (为此,每个人都将其名称替换为喜欢的引擎)。 但是为什么没有定义一个更方便的MVP引擎呢? 我不会对此问题给出明确的答案,但是我会分享我的想法,即几个月前我这里写的关于创建Prisma CMS的MVP到底是什么。 谁在乎,请在猫下。

有趣的是,总的来说,MVP可以与更高级的原型Wiki相提并论。 同时,有用于原型制作的特殊软件,从前我什至使用相同的Axure。 但是Axure缺少了什么,为什么我立即放弃了它? (我不知道,也许现在他已经变得更高级了,这些问题已经解决了,但是那时还没有。)

  1. 没有处理真实数据的方法。 也就是说,原型中有一个“用户”部分,但是我无法通过API获取用户数据,也无法在模板中循环显示它们。 实际上,原则上,没有办法处理真实数据(创建记录,读取记录)。
  2. 经过原型开发阶段并直接进入开发阶段,您将无法使用在原型中创建的模板。 就是说,在创建原型并征得客户同意后,当我们转向编程时,我们只能用眼睛看原型,而对它无能为力。 因此,我想抛出一个原型,然后在开发中使用它。

仍然有片刻,但这两个是最重要的。 事实证明,原型设计和编程阶段过着自己独立的生活,彼此之间没有任何影响。 但是我希望原型制作阶段能够顺利地直接进行编程。 在当前文章的框架内,甚至可以建议将原型引入MVP的创建中,然后,如果成功,则可以将MVP开发为最终的成熟产品。 的确,如果您这样认为,创建MVP并不能总是保证将来会有更完整的产品。 毕竟,创建MVP的意义何在? 首先,以最小的成本实施该想法,以便您可以在工作中进行尝试,其次,研究需求并自己决定是否值得投资并将其开发为成熟的产品。 因此,事实证明,我们需要一个可以快速创建原型/ MVP的工具,另一方面,如果MVP成功,我们可以在没有任何特殊限制的情况下进一步开发该项目。

事实上,从Prisma CMS来看,我只是看到这样的引擎。 有很多事情可以快速提出该项目的草案:

  • 通过我们自己的WYSIWYG前端编辑器,几乎所有工作都在前端完成。
  • URL是在react-router上实现的,该地址也可以直接在编辑器的前端而不是在服务器上写入地址。
  • 该API是在GraphQL中实现的,它使您可以在前端而不是在服务器上编写查询。 同时,集成了Graph i QL,从而简化了编写查询的过程。
  • 另外,还有生成的过滤器,逐页和其他有用的包子。

所有这一切都是开源的,也就是说,它不是SaaS,您必须为之持续付费(没有任何可支配的东西)。 它可以部署在您的服务器上并为您自己定制。

在介绍将其安装到服务器上的过程以及定制过程之前,建议您查看在站点上创建单独部分的过程的记录。 这几乎是15分钟,但仅看前4分钟,就足以了解Prisma CMS,如果有兴趣,请继续阅读本主题,或者尝试在家中部署引擎。


因此,在服务器上安装Prisma CMS(我使用ubuntu,最好使用至少4Gb的RAM和SSD)。

假定您已经熟悉node-js,npm / yarn,react和graphql。

1.安装必要的软件


如果将所有内容立即插入终端,执行可能会中断,因此最好逐行执行。

这是一个最小安装,没有任何访问级别设置等,仅用于提供信息,即,如果您尝试使用新的干净服务器,则所有操作将从根目录完成(包括启动站点)。 对于我们的实验,这一点都不重要。

sudo apt update sudo apt install mc sudo apt install git curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash - sudo apt-get install -y nodejs sudo npm i -g yarn sudo apt-get install software-properties-common python-software-properties sudo apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D sudo apt-add-repository 'deb https://apt.dockerproject.org/repo ubuntu-xenial main' sudo apt-get update sudo apt-get install -y docker-engine sudo curl -L https://github.com/docker/compose/releases/download/1.18.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose 

2.克隆存储库


 mkdir /var/www cd /var/www git clone https://github.com/prisma-cms/boilerplate cd boilerplate yarn --ignore-engines 

3.使用MySQL和pyramida启动docker容器(prisma是一个单独的产品,不是我的产品,但与服务器端紧密连接,请参阅github.com/prisma/prisma )。

 sudo docker-compose -f src/server/scripts/docker/prisma/docker-compose.yml up -d 

如果要通过phpMyAdmin查看数据库,请也安装它。

 sudo docker run -d --link prisma_mysql_1:db --network prisma_default -p 8090:80 phpmyadmin/phpmyadmin 

将挂在端口8090上。默认情况下,用户名/密码为root / prisma

4.部署方案


 endpoint=http://localhost:4466/my-project/dev yarn deploy 

您可以分别使用my-project / dev自己编写并在同一服务器上创建许多项目。

重要! 在生产中,应通过防火墙关闭端口4466,不应从外部直接访问端口4466。

5.启动API服务器


 APP_SECRET=MyStrongSecret endpoint=http://localhost:4466/my-project/dev yarn start-server 

启动后,您可以打开server-ip :4000 API。

如我在上一篇文章中所写,这是一个中间服务器,它在生成的中间服务器(在端口4466上运行)之上实现您自己的逻辑。

6.发射前


我们再打开一个终端,然后在同一文件夹中执行

 yarn start 

前端将从端口3000开始。现在,您可以直接转到前端的“编程”。 打开服务器IP :3000。 输入时,虽然前面没有单个保存的模板,但将为您显示一个授权按钮。 逻辑是注册并开始设计站点。 谁是第一个-那和运动鞋网站。 看起来是这样的:


7.构建脚本并运行SSR(服务端渲染)


从纱线启动开始是一种开发模式,适用于首次启动(检查一切是否正常)以及直接对JS零件进行编程。 当然,对于战斗而言,需要一个收集的战线。 中断运行毛线通过Ctrl + C启动并生成脚本。

 yarn build 

您可以吸烟然后倒咖啡,这个过程并不快。 在极少数情况下,建筑物会第一次崩塌,然后再次运行,通常情况下,它会成功完成并且速度更快。

建筑物结束后,运行组装好的正面。

 yarn start-ssr 

现在,启动速度更快,脚本更小。

结论


视频显示,在某些地方,可用性存在很大问题,但是该项目仍在开发中,逐渐消除了这些问题。 但是,可以在前面做很多事情。 仍然需要认真清理源代码,因为已经积累了很多本来不是真正需要的东西,而仅仅是作为继承而扩展了。 结果,正面应该容易得多。 而且它将更快地组装,并更快地加载页面。

无论如何,我认为,MVP引擎如何很好地适应-迅速抛出一些东西并向客户展示。 而且,如果我们继续开发最终产品,即使对前端不满意,我们也可以完全抛弃它并用自己的方式重写它,而数据库和服务器逻辑将无处不在。 毕竟,这是无头cms。 但是我希望随着时间的流逝,战线将被带到一个完全可以接受的水平。

如果社区感兴趣,那么我将分别撰写有关如何自定义前端(为前端编辑器添加您自己的块)以及如何自定义服务器(扩展方案,添加您自己的实体,添加解析器等)的主题。 已经有很多工具可以快速完成这些任务。

项目来源

谢谢大家的关注!

Source: https://habr.com/ru/post/zh-CN457270/


All Articles