A modern Flutter grocery-shopping application featuring onboarding, location setup, product discovery, cart management, order tracking, and a polished mobile-first interface.
Freegi is a portfolio-level grocery-shopping mobile application built with Flutter and Dart. It presents a complete customer journey—from onboarding and authentication to location selection, category browsing, product details, cart management, orders, and profile controls.
The project focuses on clean mobile UI, responsive layouts, sticky headers, fixed navigation, local persistence, reusable components, location services, and practical e-commerce interaction patterns.
Returning users can log in and continue directly to the app. New users complete account creation and first-time location setup before entering the shopping experience.
- Branded splash, onboarding, and welcome experience
- Login and create-account interfaces
- Form validation and session persistence
- First-time location setup
- Returning-user navigation flow
- Current-location access using device permissions
- Geolocation and reverse geocoding
- Saved location display
- Change-location flow from the main application
- Grocery-focused Home screen
- Search, promotional banners, and featured content
- Category browsing
- Category-specific product listings
- Product details
- Favorites and product actions
- Responsive product cards and layouts
- Add-to-cart interactions
- Quantity and cart-item controls
- Savings and bill-detail presentation
- Fixed checkout summary above bottom navigation
- Orders with All, Active, Delivered, and Cancelled filters
- Order status and history interface
- Customer profile and activity summary
- Saved addresses, favorites, wallet, offers, and account shortcuts
- Profile image selection and cropping
- Notification preferences
- Language, privacy, security, help, sharing, and app information
- Locally persisted preferences
- Fixed five-tab bottom navigation
- Sticky and compact headers on scrolling
- Content protected from bottom-bar overlap
- Consistent teal visual identity
- Mobile-first responsive layouts
- Reusable Flutter components
| Technology | Usage |
|---|---|
| Flutter | Cross-platform mobile UI |
| Dart | Application logic |
| SharedPreferences | Local session and preference persistence |
| Geolocator | Device-location access |
| Geocoding | Coordinates-to-address conversion |
| Image Picker | Profile image selection |
| Image Cropper | Profile image editing |
| Path Provider | Local file-path support |
| Share Plus | Native sharing actions |
| Material Design | Components, navigation, and styling |
freegi/
├── android/
├── assets/
│ ├── icon/
│ └── images/
├── lib/
│ ├── data/
│ ├── models/
│ ├── screens/
│ ├── services/
│ └── main.dart
├── screenshots/
├── pubspec.yaml
└── README.md
- Flutter SDK 3.47.1 or compatible
- Dart SDK 3.13.1 or compatible
- Android SDK
- Android Studio or Visual Studio Code
- Android device or emulator
Verify the Flutter environment:
flutter doctorgit clone https://github.com/utsavsingh1920/freegi.git
cd freegi
flutter pub get
flutter runLocation features require Android location permission and an enabled device location service.
- Version: 1.0.0
- Android release build created
- Main customer journey implemented
- Sticky headers and scrolling behavior refined
- Release APK kept outside the public source repository
- Designed as an educational and portfolio application
Freegi currently uses local/sample product data and locally persisted user preferences. It demonstrates the customer-side grocery-shopping experience and does not process real payments or connect to a production commerce backend.
- Connect products, authentication, and orders to a backend
- Add real-time inventory and delivery-slot availability
- Integrate secure checkout and payment services
- Add automated widget and integration tests
- Improve accessibility and offline caching
- Introduce customer support and live order tracking
Utsav Singh
B.Sc. Information Technology Graduate
Flutter and Full-Stack Development Enthusiast
- GitHub: @utsavsingh1920
Freegi is an educational and portfolio project. Product names, images, brands, and pricing shown in the application are used only for interface demonstration. Freegi is not currently a production grocery-delivery service.
Built with Flutter and 💚 by Utsav Singh
© 2026 Utsav Singh












