Skip to content

Releases: leomoraesitu/flowdelivery-app

FlowDelivery v0.6.0

Choose a tag to compare

@leomoraesitu leomoraesitu released this 08 Jul 18:22

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 orders feature module across domain, data, and presentation layers.
  • Supabase-backed order history read path using one embedded query over orders, restaurants, and order_items(quantity), ordered newest first and scoped by existing RLS ownership.
  • Protected /orders route plus Home bottom navigation wiring for the Pedidos destination.
  • 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 AppLocalizations outputs.
  • Sprint 12 docs, memory, technical debt, and Trello reconciliation completed after validation.

Validation

  • Focused regression suite: 28 tests.
  • Targeted dart analyze on 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

Choose a tag to compare

@leomoraesitu leomoraesitu released this 08 Jul 12:52

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 payments table with explicit grants and RLS scoped to the order owner via auth.uid().
  • Atomic create_order evolution: 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.
  • CheckoutViewModel sends PaymentMethod.cashOnDelivery explicitly; checkout UI renders localized payment method and status.
  • Localized payment copy in pt_BR, pt, and en; obsolete cartCheckoutPlaceholder key removed.

Validation

  • Focused regression suite: 72 tests. Consolidated flutter test matrix: 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

Choose a tag to compare

@leomoraesitu leomoraesitu released this 07 Jul 16:13

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 /checkout route 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.
  • CheckoutViewModel as a Riverpod Notifier<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.
  • orders and order_items database foundation with explicit grants, RLS
    scoped to auth.uid(), and the atomic create_order SECURITY 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.yml builds and deploys Flutter web
    automatically when the v0.4.0 tag 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 -> develop
    • develop -> 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.apk
  • flowdelivery-v0.4.0-supabase.apk.sha1
  • flowdelivery-v0.4.0-supabase.apk.sha256

Checksums:

SHA-1:   0a93f77293a6e945bc8fa82935d361240a83229f
SHA-256: 8ea1cda2d846cbd51257a9cc0e4dfa35b42de8d6004415fa027391905def3732

FlowDelivery v0.3.0 — Session-Local Shopping Cart

Choose a tag to compare

@leomoraesitu leomoraesitu released this 03 Jul 22:48
70cf277

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 /cart page: 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

Choose a tag to compare

@leomoraesitu leomoraesitu released this 11 Jun 16:41

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 copies index.html to
    404.html so 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-password redirect; catalog
    browsing works without it, but sign-in/recovery redirects are otherwise
    rejected.

QA Evidence

  • flutter analyze
  • flutter test
  • flutter 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 CupertinoIcons asset warning. The
    warning does not block APK generation and is outside this release scope.

Artifact

  • flowdelivery-v0.2.0-supabase.apk
  • flowdelivery-v0.2.0-supabase.apk.sha1
  • flowdelivery-v0.2.0-supabase.apk.sha256

Checksums:

SHA-1:   ca56ea758377d14daf28d8ce9c85c19774e1b9f2
SHA-256: 7784a7fa8271aec45f28ae33e41db4dc89e5d6f90d4afbd64fc65d9f7e89e96a

FlowDelivery v0.1.1

Choose a tag to compare

@leomoraesitu leomoraesitu released this 01 Jun 14:35

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 analyze
  • flutter test
  • flutter 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 CupertinoIcons asset warning. The warning does not block APK generation and is outside this patch release scope.

Artifact

  • flowdelivery-v0.1.1-supabase.apk
  • flowdelivery-v0.1.1-supabase.apk.sha1
  • flowdelivery-v0.1.1-supabase.apk.sha256

Checksums:

SHA-1:   b24dbbd21014a06205b60c020fae3e7de77e1559
SHA-256: 95c7ca2a35e705cb432b9a28fcc820b0e35ff5ccdb985de65c5c9fc7018622e6

v0.1.0 - Authentication Foundation

Choose a tag to compare

@leomoraesitu leomoraesitu released this 29 May 13:51

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.