Skip to content

Hifza-Khalid/BuyerHub

Repository files navigation

Github Banner

πŸ›οΈ BuyerHub

πŸ“² A clean, modern Flutter shopping app for buyers – complete with authentication, cart, profile & Stripe payments.


🌟 Overview

BuyerHub is a full-featured Flutter mobile application that simulates the buyer journey in an e-commerce app. Built with scalability, performance, and aesthetics in mind, it allows users to:

  • πŸ” Secure login/sign-up via Firebase
  • πŸ›’ Browse and search for categorized products
  • βž• Add items to cart with quantity control
  • πŸ’³ Checkout using Stripe (test keys)
  • πŸ‘€ Manage profile and update account info

✨ Features

Feature Description
πŸ” Authentication Secure login/signup with Firebase
πŸ“¦ Product Listing Real-time product display using Firestore
πŸ” Search & Filter Search bar with category-based filtering
πŸ›’ Cart System Add to cart, quantity adjust, remove items
πŸ’³ Stripe Checkout Online payments using test Stripe API
πŸ‘€ Profile Management Edit user info, update password, profile image
πŸ“± Responsive UI Smooth UI built with Flutter + VelocityX
βš™οΈ State Management Efficient navigation and data flow via GetX

πŸ“Š Buyer Journey Diagram

graph TD;
    A[πŸ” Browse Products] --> B[πŸ›’ Add to Cart];
    B --> C[🧾 Checkout];
    C --> D[πŸ’³ Make Payment];
    D --> E[βœ… Order Confirmation];
Loading

πŸ“ˆ Mobile Commerce Usage Graph

Mobile Commerce Share

🧠 Insight: Over 65% of global e-commerce happens on mobile – validating BuyerHub’s mobile-first focus.

πŸ“¦ Tech Stack

Layer Technology
πŸ’» Frontend Flutter (Dart)
πŸ”™ Backend Firebase (Auth + Firestore)
πŸ’Ό Payments Stripe (via REST API)
🎨 UI Toolkit VelocityX, Custom Widgets
βš™οΈ State Mgmt GetX

πŸš€ Getting Started

βœ… Prerequisites

  • Flutter SDK
  • Firebase Project (Firestore + Auth enabled)
  • Stripe Developer Account (test mode)

πŸ“¦ Installation

git clone https://github.com/Hifza-Khalid/BuyerHub.git
cd BuyerHub
flutter pub get

πŸ”§ Firebase Setup

  1. Create Firebase project
  2. Enable Email/Password Authentication
  3. Add google-services.json to:
android/app/google-services.json
  1. Create Firestore collections:

    • users
    • products

πŸ’³ Stripe Setup

Update the following in lib/services/payment_service.dart:

static const String stripePublishableKey = 'pk_test_...';
static const String stripeSecretKey = 'sk_test_...';

πŸ—‚οΈ Project Structure

lib/
β”œβ”€β”€ consts/             # Constants (colors, images, strings)
β”œβ”€β”€ controllers/        # Business logic (GetX)
β”œβ”€β”€ models/             # Data models (e.g. Category)
β”œβ”€β”€ services/           # Firestore + Payment services
β”œβ”€β”€ views/              # UI Screens
β”œβ”€β”€ widgets_common/     # Reusable components
└── main.dart           # Entry point

---

## πŸ’‘ Upcoming Features

* ❀️ Wishlist & Favorites
* πŸ”” Push Notifications (via Firebase Cloud Messaging)
* πŸ“¦ Seller/Admin Module
* 🧾 Order History + Invoicing
* 🌐 Multi-language Support

---

## 🀝 Contributing

```bash
🍴 Fork the repo
πŸ”§ Create your branch: git checkout -b feature/YourFeature
βœ… Commit changes: git commit -m "Add feature"
πŸ“€ Push to GitHub: git push origin feature/YourFeature
πŸ”ƒ Open a pull request

πŸ§‘β€πŸ’» Authors

Name Email GitHub
πŸ‘©β€πŸ’» Hifza Khalid su92-bssem-f22-202@superior.edu.pk GitHub
πŸ‘¨β€πŸ’» Baqir Sultan su92-bssem-f22-201@superior.edu.pk –
πŸ‘¨β€πŸ’» Hafiz Muhammad Zubair su92-bssem-f22-196@superior.edu.pk –

πŸŽ“ BS Software Engineering (2022–2026), Superior University, Lahore


πŸ“š References


πŸ“œ License

πŸ“Œ Academic Use Only β€” This project is developed for educational purposes and not intended for commercial deployment.

About

πŸ›οΈ A modern e-commerce Flutter app focused on the buyer experience ... featuring πŸ” Firebase authentication, πŸ—‚οΈ real-time product listings, πŸ›’ cart management, and πŸ’³ Stripe payments.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors