π² A clean, modern Flutter shopping app for buyers β complete with authentication, cart, profile & Stripe payments.
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
| 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 |
graph TD;
A[π Browse Products] --> B[π Add to Cart];
B --> C[π§Ύ Checkout];
C --> D[π³ Make Payment];
D --> E[β
Order Confirmation];
π§ Insight: Over 65% of global e-commerce happens on mobile β validating BuyerHubβs mobile-first focus.
| Layer | Technology |
|---|---|
| π» Frontend | Flutter (Dart) |
| π Backend | Firebase (Auth + Firestore) |
| πΌ Payments | Stripe (via REST API) |
| π¨ UI Toolkit | VelocityX, Custom Widgets |
| βοΈ State Mgmt | GetX |
- Flutter SDK
- Firebase Project (Firestore + Auth enabled)
- Stripe Developer Account (test mode)
git clone https://github.com/Hifza-Khalid/BuyerHub.git
cd BuyerHub
flutter pub get- Create Firebase project
- Enable Email/Password Authentication
- Add
google-services.jsonto:
android/app/google-services.json
-
Create Firestore collections:
usersproducts
Update the following in lib/services/payment_service.dart:
static const String stripePublishableKey = 'pk_test_...';
static const String stripeSecretKey = 'sk_test_...';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
| Name | 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
- Flutter Docs
- Firebase Docs
- Stripe Docs
- VelocityX Docs
- Dribbble β UI Inspiration
π Academic Use Only β This project is developed for educational purposes and not intended for commercial deployment.
