🛍️ Flutter E-Commerce App
🛍️

ShopEase

A modern, full-featured e-commerce mobile app built with Flutter and Provider state management. Clean architecture. Beautiful UI. Ready to ship.

Flutter 3.x Provider Dart Material 3 Poppins Font Orange & Black
Cart (3)
Red Floral Dress
M · Red
$49.99
Brown Leather Bag
One Size · Brown
$89.99
Subtotal$139.98
ShippingFREE
Total$139.98
Proceed to Checkout
Hi, Laisse 👋
Discover fashion for you
Summer Sale 🔥
Up to 50% OFF
On selected items
Shop Now
Best Sellers
Red Dress
$49.99
Brown Bag
$89.99
Sneakers
$59.99
🏠
Home
Categories
🛍️
Wishlist
👤
Profile
Order Placed!
Thank you for your order. Your items will be delivered soon.
Back to Home

Features

Everything you
need to ship

A complete e-commerce experience out of the box — from auth to checkout.

🔐
Authentication
Login, Register, and Forgot Password screens with validation and smooth loading states.
🏠
Home Screen
Animated banner, best sellers carousel, new arrivals grid, shimmer loading effects.
📦
Product Detail
Full-screen hero image, size & color selection, quantity picker, add to cart.
🛒
Shopping Cart
Add / remove items, update quantities, subtotal & shipping calculation in real time.
Wishlist
Toggle favorites from any screen. Persistent favorites grid with instant updates.
Checkout Flow
3-step checkout: payment method → delivery info → order review. Animated success screen.
🗂️
Categories & Filter
Filter by category, sort by price / rating / newest, search across all products.
👤
Profile
User info, avatar, settings menu, and logout with clean section-based layout.
🎨
UI & Animations
Custom shimmer, animated splash, elastic scale transitions, and smooth micro-interactions.

Architecture

Project structure

Clean, layered architecture with Provider for state management. Easy to scale.

shopping_app/
lib/
core/
constants/
app_constants.dart # Product names, sizes, categories
theme/
app_theme.dart # Colors, typography, widget themes
utils/
helpers.dart # Format helpers

data/
models/
product_model.dart # Product + dummy data
cart_model.dart # CartItem
user_model.dart # UserModel
repositories/
product_repository.dart # Ready for real API

providers/ # STATE MANAGEMENT (Provider)
auth_provider.dart # Login, register, logout
products_provider.dart # Load, filter, sort products
cart_provider.dart # Cart items & totals
favorites_provider.dart # Wishlist toggle

presentation/
screens/
splash/ # SplashScreen
auth/ # Login, Register, ForgotPassword
home/ # MainScreen + HomeScreen
categories/ # CategoriesScreen
product/ # ProductDetailScreen
cart/ # CartScreen
favorites/ # FavoritesScreen
checkout/ # CheckoutScreen + OrderSuccessScreen
profile/ # ProfileScreen
widgets/
common/ # ProductCard, ShimmerCard
main.dart # App entry + MultiProvider + routes

assets/
images/
products/ # 12 product images (see table below)
banners/ # banner_sale.png, banner_new.png
profile/ # avatar.png
fonts/
Poppins-Regular.ttf
Poppins-Medium.ttf
Poppins-SemiBold.ttf
Poppins-Bold.ttf
pubspec.yaml # All packages defined

Tech Stack

Packages used

Carefully selected packages. No bloat. Everything you need.

🔄
provider
^6.1.1 · State Management
🧭
go_router
^13.2.0 · Navigation
🌐
dio
^5.4.1 · HTTP Client
🖼️
cached_network_image
^3.3.1 · Image Loading
💾
shared_preferences
^2.2.3 · Local Storage
shimmer
^3.0.0 · Loading Effects
🎠
carousel_slider
^4.2.1 · Banner Carousel
📝
flutter_form_builder
^9.2.1 · Forms
🎬
animate_do
^3.3.4 · Animations
💳
flutter_credit_card
^4.0.1 · Payment UI
🔒
flutter_secure_storage
^9.0.0 · Secure Keys
🌍
intl
^0.19.0 · i18n / Currency

Screens

All screens

9 fully implemented screens covering the complete user journey.

🛍️
Splash
🔐
Login
📝
Register
🏠
Home
🗂️
Categories
👗
Product Detail
🛒
Cart
Wishlist
💳
Checkout
Order Success
👤
Profile
🔑
Forgot Password

Assets

Image naming guide

Name your real product images exactly like this and place them in assets/images/products/

# File Name Product Category Size hint
1dress_red.pngRed Floral DressClothing600×800px
2bag_brown.pngBrown Leather BagBags600×600px
3jacket_white.pngWhite Oversized JacketClothing600×800px
4shoes_pink.pngPink Running ShoesShoes800×600px
5shirt_blue.pngBlue Denim ShirtClothing600×800px
6pants_black.pngBlack Slim PantsClothing600×800px
7hat_beige.pngBeige Sun HatAccessories600×600px
8sunglasses_black.pngClassic Black SunglassesAccessories800×500px
9watch_gold.pngGold Analog WatchAccessories600×600px
10sneakers_white.pngWhite Classic SneakersShoes800×600px
11blouse_floral.pngFloral Chiffon BlouseClothing600×800px
12coat_grey.pngGrey Wool CoatClothing600×800px
13avatar.pngUser AvatarProfile200×200px

Getting Started

Run it in minutes

Clone, add your images, and flutter run. That's it.

# 1. Clone the repo
$ git clone https://github.com/yourusername/shopease.git
$ cd shopease

# 2. Install dependencies
$ flutter pub get

# 3. Add your images to assets/images/products/
# (use the naming table above)

# 4. Download Poppins font and add to assets/fonts/
$ open https://fonts.google.com/specimen/Poppins

# 5. Run the app
$ flutter run
# Minimum requirements
Flutter: 3.0.0+
Dart: 3.0.0+
Android: API 21+
iOS: 12.0+