新型冠状病毒肆虐的当下,作为一个程序员,希望也能为此做出贡献。当前患者不断确诊,患者的历史行程也在持续披露中。如果有一个应用可以帮助用户查询自己的行程中是否有患者确诊,同时支持订阅行程,在行程出现疫情时及时通过微信通知用户。这样可以及时帮助用户发现危险,增强防护能力。这时正好看到“协力抗疫,码力全开”线上公益黑客马拉松,就报名参加了。
设计思路
一开始就决定基于小程序和云开发搭建。
小程序本身的即用即走以及订阅通知机制非常适合我的应用场景。
而云开发所倡导的 serverless 也是我一直非常感兴趣和愿意尝试的,在这种轻量级应用中非常合适。
技术架构
小程序框架
使用 uniapp,基于 Vue 的语法。因为之前开发过几个小程序,都是使用的 uniapp,其本身对 Vue 的语法支持非常完善,而且社区友好。
CSS 框架
tailwindcss。这个框架基于原子类设计思想,奉行 utility-first,是作者多年工程化思路的结晶,整体体验下来在开发效率和自定义之间取到了一个比较好的平衡。
后端框架
基于云开发,6 个云函数加 1 个触发器。免费,深度集成微信,不需要域名、服务器、数据库,提供定时触发器,轻量级应用的不二之选。
架构
使用领域驱动设计(DDD)。最近一直在看架构方面的书,DDD 感觉是应对软件复杂度比较好的设计范式。
结果展示
查询患者行程
- 点击右上角的按钮订阅对应的行程通知
- 点击患者行程可以复制来源链接到浏览器中打开