- Clean and intuitive user interface
- Carefully crafted color scheme and typography
- Smooth animations and transitions
- Responsive layout for all screen sizes
- Authentication: Login, Register
- Home: Featured products, categories, banners
- Products: Product listing, details, search, filters
- Shopping: Cart, checkout, payment methods
- Orders: Order history, tracking, reviews
- User: Profile, wishlist, addresses, settings
- Additional: Notifications, help & support, legal pages
- Feature-based architecture
- Reusable components and widgets
- Clean and maintainable code
- Type-safe with null safety
- Comprehensive constants and styling system
- Custom buttons with multiple variants
- Styled text fields with validation
- Product cards (vertical & horizontal layouts)
- Category cards
- Loading states and shimmer effects
- Error handling views
- Flutter SDK:
>=3.9.0 - Dart SDK:
>=3.0.0 - iOS Simulator / Android Emulator / Physical Device
-
Clone the repository
git clone https://github.com/afgprogrammer/Flutter-tech-commerce-ui-kit.git cd como -
Install dependencies
flutter pub get
-
Run the app
flutter run
This project uses the following key dependencies:
| Package | Purpose |
|---|---|
| go_router | Navigation and routing |
| cached_network_image | Image caching |
| carousel_slider | Product carousels |
| google_fonts | Custom typography |
| hugeicons | Beautiful icon set |
| shimmer | Loading animations |
| flutter_svg | SVG support |
| flutter_rating_bar | Product ratings |
| badges | Cart badges |
| flutter_staggered_grid_view | Grid layouts |
| animations | Page transitions |
lib/
βββ core/
β βββ constants/ # App-wide constants
β β βββ app_colors.dart
β β βββ app_constants.dart
β β βββ app_text_styles.dart
β βββ theme/ # Theme configuration
β β βββ app_theme.dart
β βββ utils/ # Utility functions
βββ features/ # Feature modules
β βββ auth/ # Authentication screens
β βββ home/ # Home screen
β βββ product/ # Product screens
β βββ cart/ # Shopping cart
β βββ checkout/ # Checkout flow
β βββ order/ # Order management
β βββ profile/ # User profile
β βββ wishlist/ # Wishlist
β βββ search/ # Search functionality
β βββ categories/ # Category browsing
β βββ notifications/ # Notifications
β βββ settings/ # App settings
β βββ payment/ # Payment methods
β βββ address/ # Address management
β βββ reviews/ # Product reviews
β βββ help/ # Help & support
β βββ security/ # Security settings
β βββ legal/ # Legal pages
βββ models/ # Data models
β βββ product.dart
βββ services/ # Business logic
β βββ cart_service.dart
β βββ product_service.dart
βββ shared/ # Shared widgets
β βββ widgets/
β βββ como_button.dart
β βββ como_text_field.dart
β βββ product_card.dart
βββ main.dart # App entry point
The app uses a carefully selected color palette defined in app_colors.dart:
- Primary: Main brand color
- Secondary: Accent color
- Success: For positive actions
- Error: For warnings and errors
- Background: App background color
- Text: Primary and secondary text colors
Custom text styles are defined in app_text_styles.dart:
- Headlines (Large, Medium, Small)
- Body text (Large, Medium, Small)
- Labels and captions
- Product-specific styles
Consistent spacing system in app_constants.dart:
- Padding values (XS, S, M, L, XL)
- Border radius values
- Icon sizes
- Common dimensions
Edit the color constants in lib/core/constants/app_colors.dart:
class AppColors {
static const Color primary = Color(0xFF2C3E50);
static const Color secondary = Color(0xFF3498DB);
// ... customize other colors
}Modify the font family in lib/core/constants/app_text_styles.dart or use different Google Fonts.
- Create a new feature folder in
lib/features/ - Add your screen widgets
- Update navigation in
main.dartor router configuration
- Login Screen
- Registration Screen
- Home Screen with categories and featured products
- Product Listing
- Product Details
- Search Screen
- Categories Screen
- Shopping Cart
- Checkout
- Payment Methods
- Profile Screen
- Wishlist
- Order History
- Order Tracking
- Address Management
- Settings
- Change Password
- Two-Factor Authentication
- Onboarding
- Notifications
- Product Reviews
- Help & Support
- Privacy Policy
- Terms of Service
- Licenses
The project includes an all_screens_demo.dart file that showcases all available screens in one place for easy navigation and testing.
Contributions are welcome! Here's how you can help:
- Fork the repository
- Create a new branch (
git checkout -b feature/amazing-feature) - Make your changes
- Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
Please read CONTRIBUTING.md for details on our code of conduct and the process for submitting pull requests.
If you encounter any bugs or have feature requests, please create an issue on GitHub.
This project is licensed under the MIT License - see the LICENSE file for details.
If you like this project, please consider:
- β Starring the repository
- π΄ Forking it
- π’ Sharing it with others
- π¬ Providing feedback
Mohammad - @afgprogrammer
- Flutter - UI toolkit
- HugeIcons - Beautiful icon set
- Unsplash - Sample product images
- Community contributors and supporters
Made with β€οΈ by The Flutter Lover
If this project helped you, please give it a β







