跳转到主要内容
Ihab Khaled
菜单
所有项目

开源项目

FoodOrderV1

一个以移动端为先的协作点餐应用,一个群组共享一份订单,费用会被公平、透明地分摊。

概览

一人创建共享订单篮,邀请其他成员加入,每个人添加自己的商品。订单结束时,每位参与者都能清楚看到自己应付的金额,配送费也会被公平分摊而非估算。该应用以 Web 应用形式运行,并从同一套代码库发布到 Android 与 iOS。

架构

使用 React、TypeScript 与 Vite,并通过 Capacitor 为 Android 与 iOS 打包。Firebase Authentication 负责身份认证,Cloud Firestore 存储订单篮、邀请与各成员的添加内容,其离线持久化能力让用户在网络较弱时仍可继续添加商品,并在之后完成同步。

工程实践

最具挑战性的部分在于准确性与公平性:按角色限定权限的协作方式、每位成员各自独立的贡献记录、结束时不可更改的订单快照,以及必须精确到最小单位的收据与费用分摊。完整支持阿拉伯语与英语(含从右到左排版)从一开始就是设计的一部分,而非后期补充,相关流程也通过跨浏览器与移动端测试进行了覆盖。

角色
端到端开发整个应用:架构、数据模型、离线行为、双语界面与移动端打包。
类别
移动端
技术栈
ReactTypeScriptViteCapacitorFirebase AuthenticationCloud FirestorePlaywrightAndroidiOS
编程语言
TypeScript