Releases: leomoraesitu/flowdelivery-app
Release list
FlowDelivery v0.6.0
Order History (Sprint 12)
Authenticated users can now open /orders and review their own persisted order history, closing the first write -> read loop on top of the existing checkout and payments foundation.
Highlights
- New
ordersfeature module across domain, data, and presentation layers. - Supabase-backed order history read path using one embedded query over
orders,restaurants, andorder_items(quantity), ordered newest first and scoped by existing RLS ownership. - Protected
/ordersroute plus Home bottom navigation wiring for thePedidosdestination. - Localized loading, empty, error, and success states for order history, with grouped sections and order cards.
- Order history copy added across pt_BR, pt, and en with regenerated
AppLocalizationsoutputs. - Sprint 12 docs, memory, technical debt, and Trello reconciliation completed after validation.
Validation
- Focused regression suite: 28 tests.
- Targeted
dart analyzeon touched slices green. - Localization, Theme, and Trello guards green; final Trello parity
41/41.
Live demo
https://leomoraesitu.github.io/flowdelivery-app/
Artifact checksums
SHA-1: dc43f5642c882b596ed44e765c306f487bab6879
SHA-256: 60a46330067a9220d7ae8155f4ab1362429d3415cd3406b3ec3ea1dbc04d5071
Full notes: docs/releases/v0.6.0.md · Changelog: CHANGELOG.md
FlowDelivery v0.5.0
Payments Foundation (Sprint 11)
Every confirmed order now persists a payment record atomically with the order and its items, and the checkout renders the localized payment method and status.
Highlights
- Supabase
paymentstable with explicit grants and RLS scoped to the order owner viaauth.uid(). - Atomic
create_orderevolution: order + items + payment in a single transaction (SECURITY INVOKER). - Payment domain types wired into checkout contracts:
PaymentMethod,PaymentStatus,PaymentSummary. - Checkout data layer forwards the payment method to the RPC and maps the payment summary back to the domain.
CheckoutViewModelsendsPaymentMethod.cashOnDeliveryexplicitly; checkout UI renders localized payment method and status.- Localized payment copy in pt_BR, pt, and en; obsolete
cartCheckoutPlaceholderkey removed.
Validation
- Focused regression suite: 72 tests. Consolidated
flutter testmatrix: 206 tests. - Localization, Theme, and Trello guards green.
Live demo
https://leomoraesitu.github.io/flowdelivery-app/
Artifact checksums
SHA-1: aa096451cf8ea2ffd1957f8fd93267b67653fe91
SHA-256: 8819064d64177eef477df6aa2ffaf89fd1b3664fc114e3aa410ab37fa917c7e6
Full notes: docs/releases/v0.5.0.md · Changelog: CHANGELOG.md
FlowDelivery v0.4.0
FlowDelivery v0.4.0
Release date: 2026-07-07
Objective
Publish the persisted checkout milestone on top of the v0.3.0 cart release,
turning the shopping flow into the project's first complete write path from
Flutter UI to Supabase Postgres.
Included
- Protected
/checkoutroute reached from the cart checkout CTA. - Checkout UI aligned with the approved prototype: order summary, item
quantities, subtotal, fixed delivery fee, total, delivery address, payment
method, confirm action, failure retry, and success confirmation with order
ID. CheckoutViewModelas a RiverpodNotifier<CheckoutState>with explicit
idle, submitting, success, and failure states.- Double-submit protection while an order is being placed.
- Cart clear exactly once after a successful order.
- Pure-Dart checkout domain entities and repository contract:
OrderDraft,PlacedOrder,OrderRepository, and neutral failure codes. - Supabase-backed data layer with
PlacedOrderDto,OrderRemoteDatasource,
OrderRepositoryImpl, and app-boundary composition. ordersandorder_itemsdatabase foundation with explicit grants, RLS
scoped toauth.uid(), and the atomiccreate_orderSECURITY INVOKER
function.- Localized checkout copy across pt_BR, pt, and en through ARB plus generated
AppLocalizations. - Focused tests for checkout datasource, repository, ViewModel, page states,
cart CTA behavior, router guard behavior, localization guards, theme guard,
and Trello guard. - Sprint 10 documentation, memory, technical debt notes, and Supabase setup
runbook reconciled after validation.
Architecture
Checkout is the first write-capable feature in FlowDelivery:
CheckoutPage
-> CheckoutViewModel
-> OrderRepository
-> OrderRemoteDatasource
-> Supabase RPC create_order
The cart remains session-local and domain-owned by CartNotifier. Checkout
builds an OrderDraft from that cart state, submits it through the repository
boundary, and lets Supabase persist the order and order items atomically.
Web Deployment
- Live demo: https://leomoraesitu.github.io/flowdelivery-app/
- Publishing follows the existing tag workflow:
.github/workflows/deploy-web.ymlbuilds and deploys Flutter web
automatically when thev0.4.0tag is pushed. - Manual owner step: keep the Supabase Auth URL allow-list aligned with the
GitHub Pages origin and reset-password redirect.
QA Evidence
- Sprint 10 consolidated validation matrix: 66 passing tests.
- Focused checkout suites:
- checkout datasource tests
- checkout repository tests
- checkout ViewModel tests
- checkout page widget tests
- cart checkout CTA tests
- router guard tests
- Guard suites remained green:
- hardcoded-copy guard
- ARB catalog parity
- generated localization freshness
- Theme Guard
- Trello Guard
- GitHub PR checks passed before merge:
feat/checkout -> developdevelop -> main
Known Limitations
- Payment gateway integration is not included; payment is a static
cash-on-delivery demo method. - Delivery address is a localized demo placeholder, not profile-backed data.
- Order history, order tracking, Realtime status updates, cancellation, and
editing are future slices. - Coupons, discounts, dynamic delivery fee, and distance calculation remain
out of scope. - Cart persistence across app restarts remains planned scope.
Artifact
- Web deployment is produced by the GitHub Pages workflow after the
v0.4.0
tag is pushed. flowdelivery-v0.4.0-supabase.apkflowdelivery-v0.4.0-supabase.apk.sha1flowdelivery-v0.4.0-supabase.apk.sha256
Checksums:
SHA-1: 0a93f77293a6e945bc8fa82935d361240a83229f
SHA-256: 8ea1cda2d846cbd51257a9cc0e4dfa35b42de8d6004415fa027391905def3732
FlowDelivery v0.3.0 — Session-Local Shopping Cart
First interactive commerce slice on top of the v0.2.0 read-only catalog experience.
Live demo: https://leomoraesitu.github.io/flowdelivery-app/
Highlights
- Session-local shopping cart (Riverpod
Notifier<Cart>domain boundary; persistence deferred to Checkout) - Add-to-cart on product details with in-cart quantity controls
- Single-restaurant constraint with a localized confirmation dialog
- Protected
/cartpage: item list, quantity controls, per-item subtotal, running total, disabled checkout CTA - Cart badge on restaurant/product headers (hidden at zero)
- 21 new localization keys (pt_BR/pt/en) with ICU plural item count
Full release notes: docs/releases/v0.3.0.md · Sprint governance: SPRINT_9.md
APK Checksums
SHA-1: f7e191476448a95c7c8a98102c57992319ea7b95
SHA-256: 34fdf549d577e01ec9a1cf72df3634a3e0c77a9c5d3784c9d1fb8964163fc6e7
🤖 Generated with Claude Code
FlowDelivery v0.2.0
FlowDelivery v0.2.0
Release date: 2026-06-11
Objective
Publish the validated read-only catalog browsing experience built across
Sprints 2-8 on top of the Sprint 1 authentication foundation.
Included
- Authenticated Home feed with remote Supabase-backed restaurants, categories,
and promotions. - Home discovery interactions: search and category filtering with localized
no-match recovery. - Restaurant details with remote menu categories and items.
- Read-only product details by stable product ID.
- Deterministic catalog demo coverage for all four seeded restaurants.
- Storage-backed catalog media served from the public-read
catalog-media
bucket through a shared URL resolver and shared media renderer. - PT-BR / EN localization via ARB + generated
AppLocalizations. - Theme Guard and Localization Guard enforcement across presentation slices.
Web Deployment
- Live demo: https://leomoraesitu.github.io/flowdelivery-app/
- The Flutter web build is published to GitHub Pages (source = GitHub Actions)
via.github/workflows/deploy-web.yml, which deploys automatically on each
v*.*.*tag. - Build uses
--base-href "/flowdelivery-app/"and copiesindex.htmlto
404.htmlso deep-links and refresh resolve to the SPA under the project
subpath. - The password recovery redirect preserves the project subpath
(/flowdelivery-app/reset-password), covered by
test/app/routes/auth_recovery_redirect_test.dart. - Manual step (owner action): the Supabase Auth URL allow-list must include the
Pages Site URL and the/flowdelivery-app/reset-passwordredirect; catalog
browsing works without it, but sign-in/recovery redirects are otherwise
rejected.
QA Evidence
flutter analyzeflutter testflutter build apk --release --dart-define-from-file=.vscode/supabase.local.json- Consolidated Sprint 8 Dart MCP validation matrix (73 tests, no analyzer errors)
- Authenticated visual QA on mobile (390x844) and wide (1280x900) layouts
Known Limitations
- The Android build reports an existing
CupertinoIconsasset warning. The
warning does not block APK generation and is outside this release scope.
Artifact
flowdelivery-v0.2.0-supabase.apkflowdelivery-v0.2.0-supabase.apk.sha1flowdelivery-v0.2.0-supabase.apk.sha256
Checksums:
SHA-1: ca56ea758377d14daf28d8ce9c85c19774e1b9f2
SHA-256: 7784a7fa8271aec45f28ae33e41db4dc89e5d6f90d4afbd64fc65d9f7e89e96a
FlowDelivery v0.1.1
FlowDelivery v0.1.1
Release date: 2026-06-01
Objective
Publish the validated Sprint 1 authentication foundation and fix Android release behavior.
Included
- Supabase-backed authentication foundation.
- Password recovery flow.
- PT-BR authentication localization.
- Riverpod composition and GoRouter authentication guards.
- Locally bundled Plus Jakarta Sans, Inter and Space Grotesk fonts.
- Android internet permission for release builds.
QA Evidence
flutter analyzeflutter testflutter build apk --release --dart-define-from-file=.vscode/supabase.local.json- APK manifest inspection for
android.permission.INTERNET - APK asset inspection for the three bundled font files
Known Limitations
- The Android build reports an existing
CupertinoIconsasset warning. The warning does not block APK generation and is outside this patch release scope.
Artifact
flowdelivery-v0.1.1-supabase.apkflowdelivery-v0.1.1-supabase.apk.sha1flowdelivery-v0.1.1-supabase.apk.sha256
Checksums:
SHA-1: b24dbbd21014a06205b60c020fae3e7de77e1559
SHA-256: 95c7ca2a35e705cb432b9a28fcc820b0e35ff5ccdb985de65c5c9fc7018622e6
v0.1.0 - Authentication Foundation
Highlights
- Completed Sprint 1 authentication foundation.
- Added Supabase Auth integration behind datasource/repository boundaries.
- Added Riverpod + GoRouter auth flow with app-level route policy.
- Delivered sign-in, sign-up, forgot-password, and reset-password UI flows.
- Centralized auth copy through Flutter gen-l10n ARB + AppLocalizations.
- Added i18n guardrails for hardcoded copy, ARB catalog parity, placeholders, and generated localization freshness.
- Enforced Theme Guard for feature presentation code.
- Reduced governance/Trello sync debt to monitoring with real-card evidence workflow.
Validation
Release validation passed with Dart MCP:
- test/app/project_management/trello_guard_checklists_test.dart
- test/app/theme/no_hardcoded_visual_values_test.dart
- test/app/l10n/arb_catalog_parity_test.dart
- test/app/l10n/generated_localizations_freshness_test.dart
- test/features/auth/presentation/auth_pages_test.dart
Result: 22 tests passed.
Monitoring
- Social auth remains a disabled visual placeholder until approved as a feature.
- Future home/feed/cart presentation slices must keep Theme Guard green from their first implementation task.
- Real Trello card state remains external and must be validated with trello_get_card_checklists when used as delivery evidence.