{"id":51500205,"url":"https://github.com/leomoraesitu/flowdelivery-app","last_synced_at":"2026-07-07T18:00:26.114Z","repository":{"id":358970572,"uuid":"1239111348","full_name":"leomoraesitu/flowdelivery-app","owner":"leomoraesitu","description":"Production-ready Flutter food delivery app using MVVM, Supabase, Clean Architecture, scalable engineering practices and AI-Assisted Software Development.","archived":false,"fork":false,"pushed_at":"2026-07-03T15:52:11.000Z","size":11900,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-07-03T17:23:23.367Z","etag":null,"topics":["ai-assisted-development","clean-architecture","dart","delivery-app","flutter","food-delivery","mobile-development","mvvm","realtime-app","riverpod","scalable-architecture","serverless","supabase","web-development"],"latest_commit_sha":null,"homepage":"","language":"Dart","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/leomoraesitu.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-05-14T19:17:24.000Z","updated_at":"2026-06-23T18:07:39.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/leomoraesitu/flowdelivery-app","commit_stats":null,"previous_names":["leomoraesitu/flowdelivery-app"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/leomoraesitu/flowdelivery-app","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leomoraesitu%2Fflowdelivery-app","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leomoraesitu%2Fflowdelivery-app/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leomoraesitu%2Fflowdelivery-app/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leomoraesitu%2Fflowdelivery-app/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/leomoraesitu","download_url":"https://codeload.github.com/leomoraesitu/flowdelivery-app/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leomoraesitu%2Fflowdelivery-app/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35237753,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-07T02:00:07.222Z","response_time":90,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai-assisted-development","clean-architecture","dart","delivery-app","flutter","food-delivery","mobile-development","mvvm","realtime-app","riverpod","scalable-architecture","serverless","supabase","web-development"],"created_at":"2026-07-07T18:00:16.803Z","updated_at":"2026-07-07T18:00:26.109Z","avatar_url":"https://github.com/leomoraesitu.png","language":"Dart","funding_links":[],"categories":[],"sub_categories":[],"readme":"# \u003cimg src=\"assets/images/icone-flowdelivery.png\" alt=\"FlowDelivery icon\" width=\"32\"\u003e FlowDelivery\n\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"assets/images/branding/logo-flowdelivery-light.png\" alt=\"FlowDelivery logo\" width=\"240\"\u003e\n\u003c/p\u003e\n\nPortfolio-grade Flutter food delivery application built with MVVM architecture, Supabase backend integration, and scalable software engineering practices.\n\n---\n\n# 🌐 Live Demo\n\n**▶️ https://leomoraesitu.github.io/flowdelivery-app/**\n\nThe Flutter web build is deployed to GitHub Pages and serves the `v0.4.0` experience: sign in, browse the Home feed, restaurant details, product details, build a session-local cart, and confirm a persisted checkout order backed by Supabase. The deploy runs automatically on each version tag (`v*.*.*`).\n\n\u003e Sign-in/recovery require the Supabase Auth URL allow-list to include the Pages origin. An Android APK is also published with every release under [Releases](https://github.com/leomoraesitu/flowdelivery-app/releases).\n\n## 🎬 Cart Demo (Sprint 9)\n\n\u003cp align=\"center\"\u003e\n  \u003cimg width=\"300\" alt=\"Cart flow demo: add from product details, quantity controls, single-restaurant dialog, and cart total\" src=\"docs/ux/demo/cart-demo.gif\" /\u003e\n\u003c/p\u003e\n\n---\n\n# 📱 Overview\n\nFlowDelivery is a modern delivery platform developed as a portfolio-grade software engineering project focused on:\n\n- Flutter cross-platform development\n- MVVM architecture\n- Clean Architecture principles\n- Supabase backend integration\n- Design System scalability\n- AI-assisted development workflow\n- CI/CD readiness\n- Professional engineering conventions\n\nAs of `v0.4.0`, FlowDelivery ships a validated commerce path on top of the authenticated catalog experience: remote Home feed, restaurant details, product details, Storage-backed catalog media, session-local cart, protected checkout, and persisted order creation through Supabase. PT-BR/EN localization, Theme Guard, and Localization Guard are enforced across presentation slices, with release APKs and checksums attached under GitHub Releases.\n\n---\n\n# 🎨 Prototype\n\n\u003cp align=\"center\"\u003e\n  \u003cimg width=\"160\" alt=\"splash-onboarding\" src=\"docs/ux/prototypes/splash-onboarding.png\" /\u003e\n  \u003cimg width=\"160\" alt=\"auth-screen\" src=\"docs/ux/prototypes/auth-screen.png\" /\u003e\n  \u003cimg width=\"160\" alt=\"home-feed\" src=\"docs/ux/prototypes/home-feed.png\" /\u003e\n  \u003cimg width=\"160\" alt=\"restaurant-details\" src=\"docs/ux/prototypes/restaurant-details.png\" /\u003e\n  \u003cimg width=\"160\" alt=\"product-details\" src=\"docs/ux/prototypes/product-details.png\" /\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg width=\"160\" alt=\"cart\" src=\"docs/ux/prototypes/cart.png\" /\u003e\n  \u003cimg width=\"160\" alt=\"checkout\" src=\"docs/ux/prototypes/checkout.png\" /\u003e\n  \u003cimg width=\"160\" alt=\"order-tracking\" src=\"docs/ux/prototypes/order-tracking.png\" /\u003e\n  \u003cimg width=\"160\" alt=\"order-history\" src=\"docs/ux/prototypes/order-history.png\" /\u003e\n  \u003cimg width=\"160\" alt=\"user-profile\" src=\"docs/ux/prototypes/user-profile.png\" /\u003e\n\u003c/p\u003e\n\n---\n\n# 🚀 Tech Stack\n\n## Frontend\n\n- Flutter\n- Dart\n- Material 3\n- MVVM Architecture\n\n---\n\n## Backend\n\n- Supabase (integrated)\n- PostgreSQL (integrated — catalog and persisted checkout schema with RLS and grants)\n- Authentication (implemented)\n- Storage (integrated — public-read `catalog-media` bucket)\n- Realtime (planned)\n\n---\n\n## Architecture \u0026 Engineering\n\n- MVVM\n- Repository Pattern\n- Feature-first organization\n- Design Tokens\n- Initial light and dark app themes\n- Conventional Commits\n- Semantic Versioning\n- CI/CD Ready\n\n---\n\n## AI-Assisted Development\n\nThis project uses AI-assisted workflows during development with explicit human approval gates.\n\n- OpenAI Codex CLI\n- GitHub Copilot\n- Prompt Engineering\n- Context-driven software generation\n- Flutter/Dart agent skills in `.agents/skills`\n- Persistent planning in `.ai/plans`\n\nRecommended command loop:\n\n```bash\n./scripts/ai/ai_memory_loop.sh\n```\n\n(PowerShell equivalents remain available as `scripts/ai/*.ps1` for Windows.)\n\nOperational flow:\n\n1. `Morning Start` - recover project, sprint and feature context.\n2. `Start Feature` - analyze architecture and tradeoffs before implementation.\n3. `Technical Plan` - generate or update `.ai/plans/YYYY-MM-DD-\u003cfeature\u003e-plan.md`.\n4. `Continue Feature` - execute only the next pending task from the plan.\n5. `Review Feature` - review MVVM, Clean Architecture, tests, naming and risks.\n6. `Learning Mode` - explain architecture, Flutter concepts and tradeoffs.\n7. `End Day` - persist progress, pending work, risks and technical debt.\n\nAI workflow directories:\n\n```text\n.ai/\n├── context/      # project context loaded by agents\n├── memory/       # current sprint, feature and technical debt\n├── plans/        # implementation plans tracked task by task\n└── reviews/      # daily and feature reviews\n\n.agents/skills/  # installed Flutter/Dart agent skills\n.codex/commands/ # prompt commands copied by scripts/ai\n.codex/workflows/# repeatable AI execution workflows\n```\n\nRule of thumb: no feature implementation should start before a matching file exists in `.ai/plans`.\n\n---\n\n# 📂 Project Structure\n\n```text\nlib/\n├── app/\n│   ├── theme/\n│   └── README.md\n├── features/\n│   └── README.md\n├── shared/\n│   └── README.md\n└── main.dart\n```\n\n---\n\n# 🧠 Architectural Principles\n\nThe project follows:\n\n- Separation of Concerns\n- Single Responsibility Principle\n- Dependency Inversion\n- Reactive State Management\n- Scalable Feature Modules\n- Clean UI Composition\n\n---\n\n# 🎨 Design System\n\nFlowDelivery uses a scalable Design System strategy including:\n\n- Semantic colors\n- Typography tokens\n- Spacing tokens\n- Radius tokens\n- Size and duration tokens\n- Initial Material 3 light/dark theme placeholders\n- Responsive layouts\n\n---\n\n# 📋 Planned Features\n\n## Authentication\n\n- Email/password login (implemented)\n- Password recovery request (implemented)\n- Social authentication (planned)\n- Session persistence (planned)\n\n---\n\n## Restaurant Feed\n\n- Featured restaurants\n- Categories\n- Search\n- Filters\n\n---\n\n## Product Details\n\n- Add-to-cart flow (implemented — in-cart quantity controls and single-restaurant dialog)\n- Product customization (planned)\n- Dynamic pricing (planned)\n\n---\n\n## Cart \u0026 Checkout\n\n- Shopping cart (implemented — session-local, Sprint 9)\n- Checkout (implemented — persisted order creation, Sprint 10)\n- Order summary (implemented — subtotal, fixed delivery fee, total)\n- Address selection (demo placeholder; persisted profile addresses planned)\n- Payment flow (static cash-on-delivery demo; gateway integration planned)\n\n---\n\n## Orders\n\n- Order tracking\n- Order history\n- Delivery status timeline\n\n---\n\n## Profile\n\n- User information\n- Addresses\n- Payment methods\n- Preferences\n\n---\n\n# 📸 Planned Screens\n\n- Splash \u0026 Onboarding\n- Authentication\n- Home Feed\n- Restaurant Details\n- Product Details\n- Cart\n- Checkout\n- Order Tracking\n- Order History\n- User Profile\n\n---\n\n# 🧪 Quality Assurance\n\nPlanned QA strategy includes:\n\n- Unit tests\n- Widget tests\n- Integration tests\n- Lint rules\n- Static analysis\n- CI validation pipelines\n\n---\n\n# 🔀 Git Conventions\n\nThis project follows:\n\n- Conventional Commits\n- Git Flow-inspired branching strategy\n- Semantic Versioning\n\nExample:\n\n```bash\nfeat(cart): implement cart state management\n```\n\n---\n\n# 📚 Documentation\n\nProject documentation is organized under:\n\n```text\ndocs/\n├── architecture/\n├── ai/\n├── design-system/\n├── project-management/\n├── setup/\n├── qa/\n└── releases/\n```\n\n---\n\n# ⚙️ Environment Strategy\n\nPlanned environments:\n\n- Development\n- Staging\n- Production\n\nConfiguration management will include:\n\n- Environment variables\n- Secure secrets management\n- Build flavors\n- CI/CD pipelines\n\n---\n\n# 🛠️ Getting Started\n\n## Prerequisites\n\n- Flutter SDK\n- Dart SDK\n- VS Code\n- Android Studio\n- Supabase account\n\n---\n\n## Clone repository\n\n```bash\ngit clone https://github.com/leomoraesitu/flowdelivery-app.git\n```\n\n---\n\n## Install dependencies\n\n```bash\nflutter pub get\n```\n\n---\n\n## Run application\n\n```bash\nflutter run\n```\n\n---\n\n# 📈 Roadmap\n\n## Phase 1 — Foundation\n\n- [x] Project setup\n- [x] MVVM structure documented\n- [x] Design System documentation\n- [x] Routing strategy documented and runtime implementation deferred\n- [x] Theme architecture\n\n---\n\n## Phase 2 — Core Features\n\n- [x] Authentication\n- [x] Home feed (remote, with search and category discovery)\n- [x] Restaurant details\n- [x] Product details\n- [x] Storage-backed catalog media\n- [x] Web demo deployed to GitHub Pages\n\n---\n\n## Phase 3 — Commerce\n\n- [x] Cart (session-local, Sprint 9)\n- [x] Checkout (persisted order creation, Sprint 10)\n- [ ] Payments\n- [ ] Orders\n\n---\n\n## Phase 4 — Production Readiness\n\n- [ ] Tests\n- [ ] CI/CD\n- [ ] Analytics\n- [ ] Monitoring\n- [ ] Release pipelines\n\n---\n\n# 👨‍💻 Author\n\nLeonardo de Moraes Souza\n\nFlutter Developer • Mobile Engineer • AI-Assisted Software Development\n\n- GitHub: https://github.com/leomoraesitu\n- LinkedIn: https://linkedin.com/in/leomoraesitu\n\n---\n\n# 📄 License\n\nThis project is licensed under the MIT License.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fleomoraesitu%2Fflowdelivery-app","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fleomoraesitu%2Fflowdelivery-app","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fleomoraesitu%2Fflowdelivery-app/lists"}