Roadmap & known issues¶
Good places to start contributing, roughly in order of impact.
Bugs¶
- Missing route:
UserMainWrappernavigates to a/loginnamed route that isn't registered. - Bill QR code:
generateQrWithLogoinbilling/pdf_generator.dartrelies on a stubQrCode.module()extension, so the UPI QR on the PDF bill can't render. UseQrImage(qrCode).isDark(y, x)from theqrpackage instead. - Table release: free the table (
isOccupied: false) after payment.
Security & production readiness¶
- Server-side trust: totals, bills and payment status are written by the client. Move them to Cloud Functions and verify Razorpay signatures on the server.
- Security rules: commit a
firestore.rulesfile (start from the starter rules). - Config, not code: the Razorpay key and the demo user ID in the developer hub should come from configuration.
- Release signing: add a real keystore via repository secrets; release APKs are signed with the debug key today.
- Firebase apps: register
com.example.demo.chefandcom.example.demo.adminas their own Firebase Android apps.
Code health¶
- Guard
BuildContextuse afterawaitwithmountedchecks (32 analyzer infos). - Migrate the remaining deprecated APIs:
Share.shareXFilesโSharePlus,DropdownButtonFormField.valueโinitialValue,Switch.activeColorโactiveThumbColor. - Remove unused dependencies from
pubspec.yaml. - Widget tests for the main flows (menu, cart, order status) using
fake_cloud_firestore. - Replace the placeholder logo in
assets/images/.