// Merchant app: refresh the order list the moment an order changesconst channel = supabase.channel(`orders:${storeId}`) .on('postgres_changes', { event: '*', table: 'orders' }, () => queryClient.invalidateQueries({ queryKey: ['orders', storeId] }) ) .subscribe()// Notify the rider assigned to the orderawait notify(rider.id, { title: 'New delivery job', priority: true })我们的流程
从创意到上线及之后的六个步骤
选择一个步骤,了解会发生什么以及您将获得什么。
Step 1 of 6
探索
我们从了解业务入手:用户是谁、成功是什么样子,以及上线当天必须达成什么。您将获得一份可据以要求我们的书面范围。
您将获得
- 目标与成功衡量标准
- 用户角色与关键路径
- 书面范围与里程碑
工程实践
让产品保持健康的习惯
从公司网站到多应用市场平台,我们承接的每个项目都遵循同样的实践。
每次变更都进行代码评审
所有工作都在 Git 中进行。变更以拉取请求形式提出,评审通过后才会合并。
独立环境
开发和生产环境运行在不同的项目上,因此新工作在触及线上用户之前已得到验证。
数据层安全
行级安全和基于角色的访问控制在数据库中强制执行,而不仅仅在应用中。
密钥不进入代码
密钥和凭据存放在受管理的环境设置中,绝不放入代码仓库。
发布后监控
通过 Sentry 上报崩溃和错误,使问题尽快浮现、修复迅速发布。
快速且无障碍
优化的图片、懒加载和无障碍标记,在手机和桌面端均经过检查。
技术
现代且久经验证的技术栈
我们目前在生产环境中使用的工具。我们选择适合您产品的,而不是赶时髦的。
移动端
- React Native
- Expo
- TypeScript
- TanStack Query
- Zustand
- React Native Maps
Web
- React
- Next.js
- Vite
- Tailwind CSS
- Material UI
- Framer Motion
后端与数据
- Supabase
- PostgreSQL
- Laravel
- Node.js
- Prisma
- 边缘函数
云与交付
- Vercel
- Laravel Cloud
- GitHub
- App Store Connect
- Google Play Console
集成
- Firebase
- Sentry
- Stripe
- GCash 和 Maya (PayMongo)
- 图表与报表
与我们合作
您可以期待什么
好软件源于良好的协作。以下是我们从第一天起让您随时掌握进展的方式。
唯一对接人
一位熟悉您项目、能解答您问题的指定负责人。
尽早看到可运行的软件
您在项目进行期间就能试用真实的版本,而不只是在最后。
决策白纸黑字
范围、优先级和变更都会以书面形式记录并确认。
您的账户,您的产品
商店页面、域名和云项目可以在您自己的公司账户下设置。
心中有产品想法?让我们一起打造它。
Tell us what you want to build. We will reply with next steps, a suggested approach and a timeline.