Welcome to the Shoe Shop App, a Flutter-based e-commerce application designed to provide a seamless shopping experience for customers. This app demonstrates features like adding items to the cart, viewing product details, and managing cart operations—all powered by Provider for state management.
Add screenshots or mockups of your app here to showcase its UI and features.
- Product Catalog: Browse through a list of stylish and trendy shoes.
- Add to Cart: Add your favorite shoes to the cart effortlessly.
- Cart Management: View and manage items in the cart, including the ability to remove items.
- State Management: Smooth and efficient state handling using the
Providerpackage. - Customizable UI: Leveraging Flutter's widgets and
Themefor a user-friendly interface.
- Frontend: Flutter
- State Management: Provider
- Language: Dart
- Install Flutter SDK.
- Install a code editor (e.g., VS Code or Android Studio).
- Connect a device or set up an emulator.
-
Clone the repository:
git clone https://github.com/yourusername/shoe-shop-app.git
-
Navigate to the project directory:
cd shoe-shop-app -
Fetch the dependencies:
flutter pub get
-
Run the app:
flutter run
├── lib
│ ├── models # Data models for the app
│ ├── providers # State management files (Provider)
│ ├── screens # UI screens (Home, Cart, etc.)
│ ├── widgets # Reusable widgets
│ └── main.dart # Main entry point of the app
class CartProvider with ChangeNotifier {
final List<Map<String, dynamic>> _cart = [];
List<Map<String, dynamic>> get cart => _cart;
void addProduct(Map<String, dynamic> product) {
_cart.add(product);
notifyListeners();
}
void removeProduct(Map<String, dynamic> product) {
_cart.remove(product);
notifyListeners();
}
}ElevatedButton.icon(
onPressed: () {
Provider.of<CartProvider>(context, listen: false).addProduct({
'title': 'Stylish Sneakers',
'size': 9,
'imageUrl': 'assets/sneakers.png',
});
},
icon: Icon(Icons.shopping_cart),
label: Text('Add To Cart'),
),- Hands-on experience with Flutter and Provider.
- Implementing state management in real-world scenarios.
- Creating dynamic and responsive UI components.