Skip to content

Repository for QuickDeal: A marketplace platform where users request custom product quotes, vendors bid, and finalized projects are confirmed with digital agreements and payments.

License

Notifications You must be signed in to change notification settings

Learnathon-By-Geeky-Solutions/flutterfly

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Contributors Forks Stargazers Issues Unlicense License
Quality Gate Vulnerabilities Bugs Security

logo

A marketplace platform where users request custom product quotes, vendors bid, and finalized projects are confirmed with digital agreements and payments.

View Demo Β· Report Bug Β· Request Feature

πŸ“¦ Download APK

You can try out the latest version of the app by downloading the APK below:

Download APK

Schema Diagram

πŸ—οΈ Progress Tracker

βœ… Done

  • Multi-flavored environment (dev, prod, staging)
  • Light and Dark theme (Login and Signup screens)
  • Localization for English and Bangla (Login and Signup screens)
  • App signing
  • Realtime bid updates using Supabase realtime database
  • User Registration
  • Role-based Access Control
  • Login and signup Functionality
  • Re-usable UIs and components
  • Client add request, view RFQs and select bid screens
  • Vendor place bid, track bid screens
  • Client Dashboard

πŸ“ To-Do

  • Payment Integration
  • Ratings and Reviews
  • Google Sign-In
  • Bug Fixes
  • Vendor dashboard
  • Order confirmation screen

⚠️ Problem Statement

Many businesses and individuals struggle to find the right vendors for customized products or services, leading to inefficiencies, high costs, and delays. Vendors, on the other hand, lack a centralized platform to discover potential clients and bid on projects effectively.

This app bridges the gap by providing a streamlined bidding and quotation system.

(back to top)

πŸ“± Features

πŸ›’ Vendor Registration and Services

  • Vendors can register with business details and services offered.
  • They can link portfolios and set business hours.
  • Certificates and social media links can be added for credibility.

πŸ’Ό Order Process and Payment

  • Clients can view ongoing bids and select preferred vendors.
  • Payment can be completed through a gateway or cash-on-delivery.
  • Invoices are generated post order completion.

πŸ“ User Profile Setup

  • Users can set up profiles with mandatory and optional information.
  • Business accounts require additional details like business type and registration number.

πŸ’¬ Communication and Reviews

  • Clients can rate and review vendors post order completion.
  • Vendors can update bids and communicate with clients for better deals.

πŸ“… Order Tracking and Completion

  • Clients can track active orders and view payment status.
  • Orders are confirmed post payment completion and vendors can generate digital agreements.

(back to top)

πŸ— Schema Diagram

Schema Diagram

🧩 Project Structure: Feature-First Clean Architecture with Repository Pattern

bidding_ecommerce/
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ features/
β”‚   β”‚   β”œβ”€β”€ auth/
β”‚   β”‚   β”‚   β”œβ”€β”€ domain/
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ entities/
β”‚   β”‚   β”‚   β”‚   β”‚   └── user.dart
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ repositories/
β”‚   β”‚   β”‚   β”‚   β”‚   └── auth_repository.dart
β”‚   β”‚   β”‚   β”‚   └── use_cases/
β”‚   β”‚   β”‚   β”‚       β”œβ”€β”€ login_use_case.dart
β”‚   β”‚   β”‚   β”‚       └── register_use_case.dart
β”‚   β”‚   β”‚   β”œβ”€β”€ data/
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ repositories/
β”‚   β”‚   β”‚   β”‚   β”‚   └── auth_repository_impl.dart
β”‚   β”‚   β”‚   β”‚   └── data_sources/
β”‚   β”‚   β”‚   β”‚       β”œβ”€β”€ auth_local_data_source.dart
β”‚   β”‚   β”‚   β”‚       └── auth_remote_data_source.dart
β”‚   β”‚   β”‚   └── presentation/
β”‚   β”‚   β”‚       β”œβ”€β”€ pages/
β”‚   β”‚   β”‚       β”‚   β”œβ”€β”€ login_page.dart
β”‚   β”‚   β”‚       β”‚   └── register_page.dart
β”‚   β”‚   β”‚       └── controllers/
β”‚   β”‚   β”‚           └── auth_controller.dart
β”‚   β”‚   β”‚
β”‚   β”‚   β”œβ”€β”€ product/
β”‚   β”‚   β”‚   β”œβ”€β”€ domain/
|   |   |       β”œβ”€β”€ ...
β”‚   β”œβ”€β”€ core/
β”‚   β”‚   β”œβ”€β”€ error/
β”‚   β”‚   β”‚   β”œβ”€β”€ exceptions.dart
β”‚   β”‚   β”‚   └── failures.dart
β”‚   β”‚   β”œβ”€β”€ network/
β”‚   β”‚   β”‚   β”œβ”€β”€ api_client.dart
β”‚   β”‚   β”‚   └── network_info.dart
β”‚   β”‚   β”œβ”€β”€ utils/
β”‚   β”‚   β”‚   β”œβ”€β”€ constants.dart
β”‚   β”‚   β”‚   └── validators.dart
β”‚   β”‚   └── config/
β”‚   β”‚       └── app_config.dart
β”‚   β”‚
β”‚   β”œβ”€β”€ shared/
β”‚   β”‚   β”œβ”€β”€ domain/
β”‚   β”‚   β”‚   └── entities/
β”‚   β”‚   β”‚       └── base_entity.dart
β”‚   β”‚   β”œβ”€β”€ data/
β”‚   β”‚   β”‚   └── models/
β”‚   β”‚   β”‚       └── base_model.dart
β”‚   β”‚   └── presentation/
β”‚   β”‚       β”œβ”€β”€ widgets/
β”‚   β”‚       β”‚   β”œβ”€β”€ loading_widget.dart
β”‚   β”‚       β”‚   └── error_widget.dart
β”‚   β”‚       └── themes/
β”‚   β”‚           └── app_theme.dart
β”‚   β”‚
β”‚   └── main.dart
β”‚
β”œβ”€β”€ test/
β”‚   β”œβ”€β”€ features/
β”‚   β”‚   β”œβ”€β”€ auth/
β”‚   β”‚   β”œβ”€β”€ product/
β”‚   β”‚   β”œβ”€β”€ bidding/
β”‚   β”‚   β”œβ”€β”€ payment/
β”‚   β”‚   └── order/
|    |  └── review/
β”‚   └── core/
β”‚
β”œβ”€β”€ pubspec.yaml
└── README.md

(back to top)

βš’οΈ Technology Stack

This section lists the major frameworks/tools used to bootstrap this project.

  • Figma
  • Flutter
  • Dart

(back to top)

πŸš€ Getting Started

To set up the Flutterfly project locally and run it with different flavors (prod, dev, staging), follow the steps below.

Prerequisites

Make sure you have the following tools installed on your system:

Verify Flutter installation:

flutter doctor

Installation

  1. Clone the repository:

    git clone https://github.com/Learnathon-By-Geeky-Solutions/flutterfly.git
  2. Navigate to the project directory:

    cd flutterfly
  3. Install dependencies: Run the following command to fetch all dependencies:

    flutter pub get
  4. Run the app: Use the following commands to run the app for specific flavors:

    • Development:
      flutter run --flavor dev 
    • Staging:
      flutter run --flavor staging 
    • Production:
      flutter run --flavor prod

Setting Up Flavors

The Flutterfly project is configured with multiple flavors to manage environments effectively. Each flavor has its corresponding configuration in the android folder.

  • Flavors are defined in the android/app/build.gradle file:
    flavorDimensions "environment"
    
    productFlavors {
       dev {
           dimension "environment"
           applicationIdSuffix ".dev"
           versionNameSuffix "-dev"
       }
       staging {
           dimension "env"
           applicationIdSuffix ".staging"
           versionNameSuffix "-staging"
       }
       prod {
           dimension "environment"
       }
    }
    

(back to top)

βš–οΈ License

Distributed under the MIT License. See LICENSE for more information.

(back to top)

🌟 Top contributors

Contributors Image

(back to top)

πŸ¦‹ Team Information: Flutterfly

Name Role GitHub Username
Mayeesha Musarrat Team Leader MayeeshaMusarrat
Maria Sultana Member MariaSultana20
Raisa Rahman Member raisarahman777
Main Oddin Chisty Mentor chisty2996

(back to top)

About

Repository for QuickDeal: A marketplace platform where users request custom product quotes, vendors bid, and finalized projects are confirmed with digital agreements and payments.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 5

Languages