{"id":23868113,"url":"https://github.com/siddiqui145/shopapp_flutter","last_synced_at":"2026-05-16T11:04:16.019Z","repository":{"id":259493666,"uuid":"878039276","full_name":"Siddiqui145/ShopApp_Flutter","owner":"Siddiqui145","description":"A full-stack shopping application developed with Razorpay integration for payments, enabling users to browse products, add items to the cart, and place orders. Includes an admin module for managing product inventory (add/delete products) with robust state management for seamless interaction.","archived":false,"fork":false,"pushed_at":"2025-09-01T16:56:40.000Z","size":2387,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-09-01T18:34:22.014Z","etag":null,"topics":["cloudfirestore","firebase-auth","firebase-firestore","flutter","razorpay-api","state-management"],"latest_commit_sha":null,"homepage":"","language":"Dart","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Siddiqui145.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-10-24T17:08:01.000Z","updated_at":"2025-09-01T16:56:44.000Z","dependencies_parsed_at":"2025-09-01T18:22:49.452Z","dependency_job_id":"58d0353a-ed5b-418e-b9e4-edb970f77630","html_url":"https://github.com/Siddiqui145/ShopApp_Flutter","commit_stats":null,"previous_names":["siddiqui145/shopapp_flutter"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Siddiqui145/ShopApp_Flutter","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Siddiqui145%2FShopApp_Flutter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Siddiqui145%2FShopApp_Flutter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Siddiqui145%2FShopApp_Flutter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Siddiqui145%2FShopApp_Flutter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Siddiqui145","download_url":"https://codeload.github.com/Siddiqui145/ShopApp_Flutter/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Siddiqui145%2FShopApp_Flutter/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33100320,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-16T04:41:52.686Z","status":"ssl_error","status_checked_at":"2026-05-16T04:41:52.009Z","response_time":115,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cloudfirestore","firebase-auth","firebase-firestore","flutter","razorpay-api","state-management"],"created_at":"2025-01-03T11:17:38.342Z","updated_at":"2026-05-16T11:04:15.999Z","avatar_url":"https://github.com/Siddiqui145.png","language":"Dart","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n# 🛍️ Flutter Shopping App\n\nA complete e-commerce mobile application built with **Flutter**. This app allows users to browse products, add them to their cart, save items to a wishlist, and proceed to checkout. It uses **Firebase Firestore** for real-time data storage and retrieval. Additionally, the app provides **admin** and **customer** roles for a differentiated experience.\n\n## 📱 Features\n\n- **Browse Products:** View a list of products fetched from Firestore.\n- **Add to Cart:** Select products, choose options (size, color, etc.), and add them to the cart.\n- **Wishlist:** Save favorite products for later in the wishlist.\n- **Cart Management:** Update or remove products from the cart and view the total price.\n- **Checkout:** Proceed to address input and payment after finalizing the cart.\n- **Admin Role:** Admins can add, edit, or remove products, manage orders, and view customer lists.\n- **Customer Role:** Customers can browse products, add them to the cart or wishlist, and proceed to checkout.\n- **Firebase Integration:** Products, cart, and wishlist are synchronized with Firestore.\n- **Network Image Loading with Error Handling:** Products are displayed with images fetched from a URL, and if the image fails, a fallback image or a placeholder is shown.\n\n## Demo\n\n\n### SignUp \u0026 Login, along with Reset\nhttps://github.com/user-attachments/assets/b99017bb-2ff0-4901-a1a2-9689dbea702e\n\n### Products, Cart, Ordering, Payments\nhttps://github.com/user-attachments/assets/f9d4b91f-7308-4f11-bde3-40fa6584043c\n\n### WishList Features\nhttps://github.com/user-attachments/assets/c24b66a2-bf4a-4c03-b31b-6dd04267031c\n\n### SearchBar and Extra Features\nhttps://github.com/user-attachments/assets/120ffac0-10c6-40ea-bb49-16479fd208f3\n\n### ADMIN Login, to Dynamically add and remove products\nhttps://github.com/user-attachments/assets/e31c6dbe-c653-4565-bd0f-10a105924ae6\n\n\n\n\n\n\n\n## 🎯 Use Cases\n\n1. **Customer Experience:**\n   - Users can browse through a catalog of products.\n   - Add selected products to the cart or wishlist.\n   - Remove items from the cart or wishlist and update the total price in real-time.\n   - View detailed product information including price, category, and available options.\n   - Proceed to checkout and input delivery details.\n\n2. **Admin Experience:**\n   - Admins can manage the product catalog by adding, updating, or removing products.\n   - View and manage customer orders.\n   - Monitor product inventory and update stock.\n\n3. **Cart and Checkout:**\n   - Customers can manage their cart (add, remove, or modify items).\n   - Proceed to checkout after confirming their cart and total price.\n   - Input address information and complete the purchase (further integration with payment gateways can be added).\n\n4. **Wishlist:**\n   - Users can add items to their wishlist and revisit them later for purchasing decisions.\n\n## 🚀 Getting Started\n\nFollow these steps to set up the project locally.\n\n### Prerequisites\n\n- **Flutter SDK**: Ensure you have Flutter installed on your machine. You can download it from [Flutter's official site](https://flutter.dev/docs/get-started/install).\n- **Firebase Project**: Set up a Firebase project and enable Firestore. Follow the [Firebase setup guide](https://firebase.flutter.dev/docs/overview) to integrate Firebase with Flutter.\n\n### Installation\n\n1. **Clone the repository**:\n   ```bash\n   git clone https://github.com/Siddiqui145/ShopApp_Flutter.git\n   cd ShopApp_Flutter\n   ```\n\n2. **Install dependencies**:\n   ```bash\n   flutter pub get\n   ```\n\n3. **Firebase Setup**:\n   - Download the `google-services.json` file from your Firebase Console and place it in the `android/app/` directory.\n   - Similarly, for iOS, download the `GoogleService-Info.plist` file and add it to the `ios/Runner` directory.\n   - Configure Firebase according to [this guide](https://firebase.flutter.dev/docs/overview).\n\n4. **Run the project**:\n   ```bash\n   flutter run\n   ```\n\n### Project Structure\n\n```bash\nlib/\n├── main.dart                     # Entry point of the application\n├── pages/\n│   ├── cart_page.dart             # Cart management page\n│   ├── form_page.dart             # Address input and checkout page\n│   ├── wishlist_page.dart         # Wishlist page\n│   ├── admin_dashboard.dart       # Admin dashboard for managing products\n├── providers/\n│   ├── cart_provider.dart         # Cart management provider (state management)\n│   ├── wishlist_provider.dart     # Wishlist management provider\n├── widgets/\n│   ├── product_tile.dart          # Custom widget for displaying product details\n├── services/\n│   ├── firebase_service.dart      # Firebase-related functions for data fetching\n```\n\n## 📁 Firebase Configuration\n\nThe project uses **Firebase Firestore** to store and retrieve product information, cart data, and wishlist data. Ensure you have:\n\n- Enabled Firestore in your Firebase console.\n- Added the correct security rules for Firestore.\n\nExample Firestore structure:\n\n```\nFirestore Root\n├── products (collection)\n│   ├── {productDocumentId} (document)\n│   │   ├── image: String (URL of the product image)\n│   │   ├── company: String (Product company)\n│   │   ├── price: Number (Product price)\n│   │   ├── category: String (Product category)\n│   │   ├── description: String (Product description)\n│   │   ├── options: Array (Available options, e.g., size, color)\n├── users (collection)\n│   ├── {userId} (document)\n│   │   ├── role: String (admin or customer)\n```\n\n## 🛠️ Technologies Used\n\n- **Flutter**: A cross-platform mobile app development framework.\n- **Provider**: For state management.\n- **Firebase Firestore**: For cloud-based NoSQL database.\n- **Firebase Authentication** (Optional): Can be added for user login/signup and role-based access control.\n- **Image.network**: For loading product images with network error handling.\n\n## 📖 Usage\n\n- **Customer Role**:\n  - Customers can browse products, add items to the cart or wishlist, and proceed to checkout.\n  - Customers will see only the shopping-related functionalities like cart management and wishlist.\n  \n- **Admin Role**:\n  - Admins have access to special features like adding or removing products, managing inventory, and viewing customer orders.\n  - Admin-specific pages are available, like product management and order management.\n\n- **Product Display**: Products are displayed with their images, company names, prices, and available options.\n- **Cart Functionality**: Items can be added, removed, and viewed in a cart with the total price dynamically calculated.\n- **Wishlist**: Users can add items to their wishlist and view them later.\n- **Checkout**: After finalizing the cart, users can proceed to input their address for delivery.\n\n## 🚧 Future Enhancements\n\n- **Payment Gateway Integration**: Add support for online payments (Stripe, Razorpay, etc.).\n- **User Authentication**: Firebase Authentication for user login, registration, and personalized carts/wishlists.\n- **Push Notifications**: Notify users about product offers, abandoned carts, etc.\n- **Product Reviews**: Allow users to rate and review products.\n\n## 🤝 Contributing\n\nContributions are welcome! Please follow these steps to contribute:\n\n1. Fork the project.\n2. Create a feature branch:\n   ```bash\n   git checkout -b feature/new-feature\n   ```\n3. Commit your changes:\n   ```bash\n   git commit -m \"Add new feature\"\n   ```\n4. Push to the branch:\n   ```bash\n   git push origin feature/new-feature\n   ```\n5. Open a pull request.\n\n## 📝 License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## 🙌 Acknowledgements\n\n- [Flutter](https://flutter.dev/)\n- [Firebase](https://firebase.google.com/)\n- [Provider Package](https://pub.dev/packages/provider)\n\n---\n\nFeel free to use, modify, and contribute to this project. If you encounter any issues, feel free to open an issue or submit a pull request.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsiddiqui145%2Fshopapp_flutter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsiddiqui145%2Fshopapp_flutter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsiddiqui145%2Fshopapp_flutter/lists"}