https://github.com/ogc16/freshgo
This is a grocery,food ;shopping delivery app
https://github.com/ogc16/freshgo
android ecommerce flutter freshfood grocery grocery-delivery mobile webapp
Last synced: about 2 hours ago
JSON representation
This is a grocery,food ;shopping delivery app
- Host: GitHub
- URL: https://github.com/ogc16/freshgo
- Owner: ogc16
- Created: 2026-04-27T10:17:33.000Z (2 months ago)
- Default Branch: master
- Last Pushed: 2026-05-25T09:17:29.000Z (about 1 month ago)
- Last Synced: 2026-05-25T09:24:51.856Z (about 1 month ago)
- Topics: android, ecommerce, flutter, freshfood, grocery, grocery-delivery, mobile, webapp
- Language: Dart
- Homepage: https://bites.onhercules.app/
- Size: 14.5 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# FreshGo
A 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.



---
## Overview
FreshGo 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.
---

## Features
### Authentication
- **Phone number login** with OTP verification screen
- **Social & mobile money login** options (Google, MTN MoMo, Airtel Money — UI demo)
### Shopping
- **Category browsing**: Groceries, Food, Gas, Water
- **Product search** across all categories
- **Promotional banners** with rotating offers
- **Add to cart** with quantity controls
### Cart & Checkout
- **Slide-up cart drawer** with item list and totals
- **Checkout screen** with delivery details
- **Payment screen** with confirmation flow
### Orders & Tracking
- **Live order tracking** with animated delivery progress
- **Order history** screen
- **User profile** with logout
### Internationalization
- **6 languages**: English, Luganda, Spanish, Chinese, French, Swahili
- Language picker on login and profile screens
- Instant switch with animated transition
### UI / UX
- Mobile app simulation with status bar and home indicator
- Smooth animations (fade transitions, button press feedback)
- Rounded inputs and buttons for a modern feel
- Gradient-backed product cards and category icons with Material icons
- Subtle shadows and improved contrast for readability
---
## Tech Stack
| Technology | Purpose |
| ------------------------------ | -------------------------- |
| [Flutter](https://flutter.dev) | Cross-platform UI framework|
| [Dart](https://dart.dev) | Programming language |
| [Provider](https://pub.dev/packages/provider) | State management |
---
## Getting Started
### Prerequisites
- [Flutter SDK](https://docs.flutter.dev/get-started/install) (v3.41+)
- Dart (included with Flutter)
### Installation
```bash
# Clone the repository
git clone https://github.com/ogc16/freshgo
cd freshgo
# Install dependencies
flutter pub get
# Run the app (requires a connected device or emulator)
flutter run
```
### Build APK
```bash
flutter build apk --debug
```
The APK will be output to `build/app/outputs/flutter-apk/app-debug.apk`.
### Build for Release
```bash
flutter build apk --release
flutter build ios --release # macOS only
```
---
## Project Structure
```
freshgo-app/
├── pubspec.yaml # Dependencies & configuration
├── analysis_options.yaml # Dart lint rules
├── android/ # Android platform files
├── ios/ # iOS platform files
├── lib/
│ ├── main.dart # Entry point with navigation & phone frame
│ ├── data/
│ │ └── products.dart # Product catalog
│ ├── i18n/
│ │ └── strings.dart # Translation maps (6 languages)
│ ├── models/
│ │ └── product.dart # Product model
│ ├── providers/
│ │ ├── cart_provider.dart # Cart state management
│ │ └── locale_provider.dart # Language selection state
│ ├── screens/
│ │ ├── login_screen.dart # Phone / social login
│ │ ├── otp_screen.dart # OTP verification
│ │ ├── home_screen.dart # Browse & search products
│ │ ├── checkout_screen.dart # Delivery details
│ │ ├── payment_screen.dart # Payment confirmation
│ │ ├── tracking_screen.dart # Live order tracking
│ │ ├── orders_screen.dart # Order history
│ │ └── profile_screen.dart # User profile
│ ├── utils/
│ │ └── formatters.dart # Price formatting & color parsing
│ └── widgets/
│ ├── ui.dart # Shared UI components (buttons, inputs, nav)
│ └── language_picker.dart # Language selector widget
├── test/
│ └── widget_test.dart # Widget tests
└── web/ # Web platform files
```
---
## Product Categories
| Category | Items |
| ------------- | -------------------------------------------------------------------------------------- |
| **Groceries** | Tomatoes, Cooking Oil, Basmati Rice, Onions, Bread, Eggs, Bananas, Sugar |
| **Food** | Chicken Biryani, Rolex, Matoke Stew, Pork Muchomo, Samosa, Fresh Juice, Pilau, Mandazi |
| **Gas** | 6kg & 13kg Cylinders, Gas Refills |
| **Water** | 20L Jerry Can Refill, 10L & 5L Bottles, 500ml Pack |
All prices are in **UGX (Ugandan Shilling)**.
---
## Design System
FreshGo uses a custom Dart constant-based design system defined in `lib/widgets/ui.dart`:
| Token | Value | Usage |
| ---------- | --------- | ------------------------ |
| `green` | `#1C5C35` | Primary brand color |
| `amber` | `#F5A100` | Accents, CTAs, badges |
| `bg` | `#F7F4EF` | App background |
| `txt` | `#1A1A1A` | Primary text |
| `txt2` | `#333333` | Secondary text |
| `txt3` | `#777777` | Tertiary / hint text |
| `rad` | `14` | Default border radius |
| `radButton`| `16` | Button / input radius |
---
## Scripts
| Command | Description |
| --------------------------- | -------------------------------- |
| `flutter pub get` | Install dependencies |
| `flutter run` | Run on connected device/emulator |
| `flutter build apk --debug` | Build debug APK |
| `flutter build apk --release` | Build release APK |
| `flutter analyze` | Run static analysis |
| `flutter test` | Run tests |
---
## Notes
- This is a **frontend prototype** — there is no backend or real payment processing.
- Login and OTP flows are simulated for demonstration purposes.
- The app renders inside a **390×844 phone frame** on all devices to simulate the mobile experience.
- Language translations for Luganda, Swahili, Spanish, Chinese, and French are provided for demo purposes.
---
## License
Opensource