{"id":51262497,"url":"https://github.com/ogc16/freshgo","last_synced_at":"2026-06-29T13:01:41.594Z","repository":{"id":359962139,"uuid":"1222392086","full_name":"ogc16/freshgo","owner":"ogc16","description":"This is a grocery,food ;shopping delivery app","archived":false,"fork":false,"pushed_at":"2026-05-25T09:17:29.000Z","size":15160,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2026-05-25T09:24:51.856Z","etag":null,"topics":["android","ecommerce","flutter","freshfood","grocery","grocery-delivery","mobile","webapp"],"latest_commit_sha":null,"homepage":"https://bites.onhercules.app/","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/ogc16.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"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-04-27T10:17:33.000Z","updated_at":"2026-05-25T09:17:34.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/ogc16/freshgo","commit_stats":null,"previous_names":["ogc16/freshgo-app","ogc16/freshgo"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/ogc16/freshgo","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ogc16%2Ffreshgo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ogc16%2Ffreshgo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ogc16%2Ffreshgo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ogc16%2Ffreshgo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ogc16","download_url":"https://codeload.github.com/ogc16/freshgo/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ogc16%2Ffreshgo/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34927687,"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-06-29T02:00:05.398Z","response_time":58,"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":["android","ecommerce","flutter","freshfood","grocery","grocery-delivery","mobile","webapp"],"created_at":"2026-06-29T13:01:39.263Z","updated_at":"2026-06-29T13:01:41.587Z","avatar_url":"https://github.com/ogc16.png","language":"Dart","funding_links":[],"categories":[],"sub_categories":[],"readme":"# FreshGo\n\nA mobile delivery app prototype for groceries, food, gas, and water — inspired by [Hercules](https://bites.onhercules.app/). FreshGo simulates a complete e-commerce flow from login and product discovery to checkout, payment, and live order tracking.\n\n![Flutter](https://img.shields.io/badge/Flutter-3.41-02569B?logo=flutter)\n![Dart](https://img.shields.io/badge/Dart-3.11-0175C2?logo=dart)\n![License](https://img.shields.io/badge/license-MIT-green)\n\n---\n\n## Overview\n\nFreshGo is a Flutter prototype that delivers a realistic on-demand delivery experience tailored to the Ugandan market — with UGX pricing, local products (Matoke, Rolex, Muchomo), and mobile money login options. The app renders inside a simulated phone frame (390×844) with a status bar and home indicator to mimic a native mobile experience.\n\n---\n\u003cimg width=\"273\" height=\"623\" alt=\"Screenshot 2026-05-10 160136\" src=\"https://github.com/user-attachments/assets/89f363a3-3cfd-4878-9113-2254e69da20b\" /\u003e\n\n## Features\n\n### Authentication\n\n- **Phone number login** with OTP verification screen\n- **Social \u0026 mobile money login** options (Google, MTN MoMo, Airtel Money — UI demo)\n\n### Shopping\n\n- **Category browsing**: Groceries, Food, Gas, Water\n- **Product search** across all categories\n- **Promotional banners** with rotating offers\n- **Add to cart** with quantity controls\n\n### Cart \u0026 Checkout\n\n- **Slide-up cart drawer** with item list and totals\n- **Checkout screen** with delivery details\n- **Payment screen** with confirmation flow\n\n### Orders \u0026 Tracking\n\n- **Live order tracking** with animated delivery progress\n- **Order history** screen\n- **User profile** with logout\n\n### Internationalization\n\n- **6 languages**: English, Luganda, Spanish, Chinese, French, Swahili\n- Language picker on login and profile screens\n- Instant switch with animated transition\n\n### UI / UX\n\n- Mobile app simulation with status bar and home indicator\n- Smooth animations (fade transitions, button press feedback)\n- Rounded inputs and buttons for a modern feel\n- Gradient-backed product cards and category icons with Material icons\n- Subtle shadows and improved contrast for readability\n\n---\n\n## Tech Stack\n\n| Technology                     | Purpose                    |\n| ------------------------------ | -------------------------- |\n| [Flutter](https://flutter.dev) | Cross-platform UI framework|\n| [Dart](https://dart.dev)       | Programming language       |\n| [Provider](https://pub.dev/packages/provider) | State management |\n\n---\n\n## Getting Started\n\n### Prerequisites\n\n- [Flutter SDK](https://docs.flutter.dev/get-started/install) (v3.41+)\n- Dart (included with Flutter)\n\n### Installation\n\n```bash\n# Clone the repository\ngit clone https://github.com/ogc16/freshgo\ncd freshgo\n\n# Install dependencies\nflutter pub get\n\n# Run the app (requires a connected device or emulator)\nflutter run\n```\n\n### Build APK\n\n```bash\nflutter build apk --debug\n```\n\nThe APK will be output to `build/app/outputs/flutter-apk/app-debug.apk`.\n\n### Build for Release\n\n```bash\nflutter build apk --release\nflutter build ios --release   # macOS only\n```\n\n---\n\n## Project Structure\n\n```\nfreshgo-app/\n├── pubspec.yaml               # Dependencies \u0026 configuration\n├── analysis_options.yaml      # Dart lint rules\n├── android/                   # Android platform files\n├── ios/                       # iOS platform files\n├── lib/\n│   ├── main.dart              # Entry point with navigation \u0026 phone frame\n│   ├── data/\n│   │   └── products.dart      # Product catalog\n│   ├── i18n/\n│   │   └── strings.dart       # Translation maps (6 languages)\n│   ├── models/\n│   │   └── product.dart       # Product model\n│   ├── providers/\n│   │   ├── cart_provider.dart # Cart state management\n│   │   └── locale_provider.dart # Language selection state\n│   ├── screens/\n│   │   ├── login_screen.dart  # Phone / social login\n│   │   ├── otp_screen.dart    # OTP verification\n│   │   ├── home_screen.dart   # Browse \u0026 search products\n│   │   ├── checkout_screen.dart # Delivery details\n│   │   ├── payment_screen.dart  # Payment confirmation\n│   │   ├── tracking_screen.dart # Live order tracking\n│   │   ├── orders_screen.dart   # Order history\n│   │   └── profile_screen.dart  # User profile\n│   ├── utils/\n│   │   └── formatters.dart    # Price formatting \u0026 color parsing\n│   └── widgets/\n│       ├── ui.dart            # Shared UI components (buttons, inputs, nav)\n│       └── language_picker.dart # Language selector widget\n├── test/\n│   └── widget_test.dart       # Widget tests\n└── web/                       # Web platform files\n```\n\n---\n\n## Product Categories\n\n| Category      | Items                                                                                  |\n| ------------- | -------------------------------------------------------------------------------------- |\n| **Groceries** | Tomatoes, Cooking Oil, Basmati Rice, Onions, Bread, Eggs, Bananas, Sugar               |\n| **Food**      | Chicken Biryani, Rolex, Matoke Stew, Pork Muchomo, Samosa, Fresh Juice, Pilau, Mandazi |\n| **Gas**       | 6kg \u0026 13kg Cylinders, Gas Refills                                                      |\n| **Water**     | 20L Jerry Can Refill, 10L \u0026 5L Bottles, 500ml Pack                                     |\n\nAll prices are in **UGX (Ugandan Shilling)**.\n\n---\n\n## Design System\n\nFreshGo uses a custom Dart constant-based design system defined in `lib/widgets/ui.dart`:\n\n| Token      | Value     | Usage                    |\n| ---------- | --------- | ------------------------ |\n| `green`    | `#1C5C35` | Primary brand color      |\n| `amber`    | `#F5A100` | Accents, CTAs, badges    |\n| `bg`       | `#F7F4EF` | App background           |\n| `txt`      | `#1A1A1A` | Primary text             |\n| `txt2`     | `#333333` | Secondary text           |\n| `txt3`     | `#777777` | Tertiary / hint text     |\n| `rad`      | `14`      | Default border radius    |\n| `radButton`| `16`      | Button / input radius    |\n\n---\n\n## Scripts\n\n| Command                     | Description                      |\n| --------------------------- | -------------------------------- |\n| `flutter pub get`           | Install dependencies              |\n| `flutter run`               | Run on connected device/emulator  |\n| `flutter build apk --debug` | Build debug APK                   |\n| `flutter build apk --release` | Build release APK               |\n| `flutter analyze`           | Run static analysis               |\n| `flutter test`              | Run tests                         |\n\n---\n\n## Notes\n\n- This is a **frontend prototype** — there is no backend or real payment processing.\n- Login and OTP flows are simulated for demonstration purposes.\n- The app renders inside a **390×844 phone frame** on all devices to simulate the mobile experience.\n- Language translations for Luganda, Swahili, Spanish, Chinese, and French are provided for demo purposes.\n\n---\n\n## License\n\nOpensource\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fogc16%2Ffreshgo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fogc16%2Ffreshgo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fogc16%2Ffreshgo/lists"}