使用 AWS Amplify 开发家庭管理应用程序
内容提要
本文介绍了作者使用AWS Amplify开发的家庭预算应用程序,解决了家庭成员之间报销的问题,并将电子表格功能转化为Web应用程序。应用程序使用Next.js构建,并使用Amplify Hosting部署。它可以显示每个人的债务总结,并通过计算债务来帮助用户了解自己的未偿还金额。应用程序的架构包括Amplify Hosting、DynamoDB和AppSync等组件。该应用程序仅供作者和他的妻子使用,操作成本低。
延伸解读
从电子表格到Web应用:解决实际痛点
作者最初使用Google Spread Sheets管理家庭报销,但遇到了在手机上输入数据困难、表格行数增加后滚动不便、无法一眼看出欠款金额等问题。这些痛点促使作者将电子表格功能转化为Web应用。通过使用下拉菜单、日期选择器和单选按钮等优化输入界面,并利用Amplify快速构建,最终改善了用户体验。这体现了从实际需求出发,利用云服务解决日常问题的思路。
债务计算逻辑:净额与总额的区别
应用在顶部显示每个人的债务总结,包括“Total NET debt”和“debt”两项。前者是抵消相互未付金额后的最终欠款,后者是抵消前各自的未付总额。例如,丈夫已支付2500日元,妻子支付398日元,则丈夫需付妻子199日元,妻子需付丈夫1250日元,净额后妻子欠丈夫1051日元。这种区分帮助用户清晰了解债务构成。
架构与安全:Amplify集成AWS服务
应用使用Amplify Hosting部署,底层由S3和CloudFront提供内容分发。数据存储采用DynamoDB,通过AppSync进行GraphQL CRUD操作。认证使用Cognito,并通过用户组(Admin组)控制数据访问权限,确保只有特定用户能读写数据。这种架构充分利用了AWS托管服务,简化了基础设施管理,同时保证了数据安全性。
成本与维护:个人项目的低成本运营
由于仅作者和妻子两人使用,Amplify的按量付费模式下,每月运营成本约为100至200日元(约1至1.5美元),几乎可以忽略不计。作者表示应用仍有一些粗糙之处,偶尔会发现bug,但计划按自己的节奏继续维护。这表明对于小规模个人项目,利用Serverless和托管服务可以极低成本实现可持续运营。
Q&A
AWS Amplify如何帮助开发家庭预算应用程序?
AWS Amplify提供了简化的开发流程,使得作者能够快速构建和部署家庭预算应用程序,解决了家庭成员之间的报销问题。
这个家庭预算应用程序的主要功能是什么?
该应用程序可以显示每个人的债务总结,帮助用户了解未偿还金额,并通过友好的界面简化数据输入。
为什么作者决定将电子表格转化为Web应用程序?
因为在手机上使用电子表格输入数据困难,导致操作不便,作者希望改善用户体验。
应用程序的架构包含哪些主要组件?
应用程序的架构包括Amplify Hosting、DynamoDB和AppSync等组件,确保数据存储和操作的安全性。
这个家庭预算应用程序的运营成本是多少?
应用程序的运营成本约为每月100至200日元,几乎是免费的。
作者对应用程序的未来计划是什么?
作者计划继续维护该应用程序,尽管仍有一些小问题和bug。