优惠券生活或我们如何优化社会服务工作

最近,我们的团队收到了创建票务原型系统的请求,该系统经过40多个小时的工作,包括对“ TK”的讨论,设计,实施,甚至还有一些改进。 我们确实认为这种简单的应用程序对广大读者可能非常有用。 最后,我们对IONDV有所了解。 框架,他们提出了一个社会目的,并同时测试了IONDV。 单间



见面-IONDV。 Tickets是用于发行社会食品优惠券的开源注册表类型应用程序。 该应用程序在IONDV实现。 专用IDE中的框架 -IONDV。 单间 像往常一样,提供了演示视频 ,并且该应用程序本身是根据开放的Apache 2.0许可证发布在GitHub上的。 在这里,我们与您分享创建应用程序的过程-从构思到原型。


主意


考虑到我们已经有了灵感,这个想法非常简单,我们在细节上略胜一筹。 该系统的目的是跟踪特定类别公民的社会营养券的发放和兑现,所有这些都是为了优化社会服务或面向社会的非政府组织的工作。 因此,系统用户应具有以下功能:


  1. 收件人卡的机构,如姓名,出生日期,性别等,
  2. 建立包含发卡日期,完成日期,状态等数据的优惠券卡,
  3. 为业务流程执行状态优惠券,
  4. 针对不同专家(操作员和出纳员,管理员和主持人)的基于角色的访问,
  5. 附加功能:带有类别的复选框,扫描附件,优惠券的印刷形式,门户集成。

模拟情况


公民加入社会。 保护社会食品券。 社会工作者 保护(对我们来说-系统操作员)启动用户卡,定义类别,并为他创建一个月的4张优惠券,并一次发行所有4张优惠券。 公民必须在一个月内在商店/食堂/接送点兑现优惠券,并在优惠券中标明所需金额,这取决于分配的类别数。 当他购买优惠券时,员工(具有“收银员”的角色)在列表中找到其优惠券的编号,并且如果优惠券未过期(列表中未以红色突出显示并且到期日期比当前日期更长,则该优惠券将失效)。


从幻想或附加功能的类别


您可以通过电子邮件申请优惠券。 设置与任何门户网站的集成。 我们以这种方式显示:公民填写服务收据表格并发送申请。 它显示在员工社交中。 导航中的“电子邮件保护”。 应用程序”或“信息中心中的小部件”中的电子邮件可用性。 应用”。 操作员处理该申请,然后拒绝表明原因的申请或接受。 另一个优点是优惠券的印刷形式。 在公民编辑表上,您可以上传优惠券以打印并赠送给公民,或通过电子邮件发送电子版本。


那些细节


IONDV应用程序。 门票基于IONDV的专有技术 构架 这是用于创建基于元数据的高级Web应用程序的开源node.js框架,不需要认真的编程技能。 该框架的核心是独立的数据模型,内核API,功能模块和表示模板。 MongoDb用于DBMS-它存储应用程序设置,元数据和数据本身。 该框架在Node.js中运行。 一起提供了一个跨平台的框架。

IONDV的组合。 Studio + IONDV。 框架+ IONDV。 应用程序 (来自存储库的应用程序构建器)-是一个快速的原型制作系统。 在其中,您可以获得一个Web应用程序,用于计算业务逻辑和数据结构,安全性以及现成的REST API-以便您可以使用自己喜欢的角度编辑面板或做出反应。 和SOAP-进行整合。


创作过程


我们已经逐步淘汰了创建IONDV应用程序的整个过程 IONDV的 门票 单间Studio存储库中查找完整的说明,您可以在其中逐步重复该过程。


创建阶段:


  1. 建立课程
  2. 创建导航
  3. 创建视图
  4. 创建业务流程

班级


因此,对于初学者而言,一切都很简单-应用程序的创建从“ +创建您的第一个应用程序”按钮开始。 在弹出窗口中,填写有关未来应用程序的两行-名称和描述。 并继续创建类。 该应用程序的基本类是“票证”,“人”,“收件人”,“文档”。 我们创建类及其属性。 之后,我们继续进行特定属性的微调。


对于“收件人”类,我们设置了“人”类的属性组成的继承,即 “收件人”类具有“人员”类的所有属性+自己的属性。 同样,对于“收件人”类,为属性“票证”创建类型为“集合”的关系。 我们指定“ Tickets”类作为参考。 进行收集,以便在类对象的形式上显示“票证”对象的收集。 我们重复其他类的连接设置,因此,我们应该获得这样的应用方案。



接下来,我们配置重要细节:


  1. 计算最大优惠券金额的公式
  2. 最多可创建4张优惠券
  3. 计算优惠券完成日期的公式


创建一个节和导航项。 区域-根据任何属性对菜单项进行分组。 要创建导航部分,请转到“导航”部分,然后选择“ +部分”操作。 我们将所有菜单项分组为一个部分,并根据应用程序本身的主题“营养券”进行组合。


创建导航部分后,用于创建导航项的按钮将变为可用。 在这种情况下,创建的每个导航项分别是该类本身的页面,我们也将其称为。


观看次数


表示形式允许您为系统中类属性的各种表示指定任意的属性结构。 呈现形式有三种:创建表单(创建),列表表单(列表)和编辑表单(项目)。 选择“类”部分,然后在工作面板上选择“查看”操作。 在列表中,选择表示形式的类型,然后通过拖动属性块来选择形式。
在演示文稿表单上,您可以设置其他属性-电话号码属性的掩码和用于显示列表中对象的样式。 例如,以红色突出显示过期的优惠券。



业务流程


对于“票证”类的对象,需要三种状态的业务流程:“签发者”,“确认”,“过期”。 在“工作流”部分的工作面板上,选择操作以创建+ State业务流程的状态并填写表单字段。 接下来,我们通过单击“ + Transition”按钮来配置业务流程状态之间的过渡。 结果,我们得到以下方案:



关于工作室


Studio是IONDV应用程序 用于创建和编辑可部署为IONDV Web应用程序的元数据(例如类,导航,视图,业务流程,门户表单)的框架。 构架 它也可以用作独立的node.js应用程序或桌面应用程序。 使用独立应用程序的优点是不需要数据库和IONDV。 构架


此处查看如何启动应用程序


在哪里寻找和触摸?


在Linux下,如果使用iondv-app安装程序在本地安装了git,node.js和mongodb,则可以在一行中安装该应用程序。 该脚本将安装环境依赖项,从GitHub克隆框架,模块和应用程序的所有必要存储库,收集,启动和启动该应用程序:


 bash <(curl -sL https://raw.githubusercontent.com/iondv/iondv-app/master/iondv-app) -q -i -m localhost:27017 tickets 

您需要指定MongoDb的地址,而不是localhost:27017。


您还可以启动docker容器:


 #     docker network create iondv #   mongodb    docker run --name mongodb --net iondv -v mongodb_data:/data/db -p 27017:27017 -d mongo #  IONDV. Tickets docker run -d -p 8888:8888 --net iondv iondv/tickets 

启动后,打开链接http://localhost:8888 。 对于后台,请登录:演示,密码:ion-demo,具有管理员权限。 具有受限操作员权限的第二个用户是操作员密码ion-demo。


测试演示应用程序
主要角色有三个:操作员,收银员,控制员。 角色名称与其登录名相对应,密码是所有三个登录名之一-ion-demo。 具有权限管理员的帐户-登录-演示,密码-ion-demo。


我们会尝试吗?


如果您想重复我们的经验,我们写了一条详细的说明“如何在IONDV.Studio中创建Tickets应用程序” 。 有很多屏幕截图供您查看在Studio中创建的内容=创建。 如果该应用程序启发您创建自己的会计系统,那就太好了。 我们的目标是展示一个想法如何轻松,快速地转变为真实的原型。


如果发现错误,请在注释中或GitHub上的Issues应用程序存储库中编写。 分享您的想法,您还将在其他地方应用类似的系统? 你会改变什么?

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


All Articles