Learnathon-By-Geeky-Solutions/flutterfly
Repository for QuickDeal: A marketplace platform where users request custom product quotes, vendors bid, and finalized projects are confirmed with digital agreements and payments.
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:
ποΈ 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.
π± 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.
π 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
βοΈ Technology Stack
This section lists the major frameworks/tools used to bootstrap this project.
π 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:
- Flutter SDK: Install Flutter
- Android Studio (for Android development)
- Git: Download Git
Verify Flutter installation:
flutter doctorInstallation
-
Clone the repository:
git clone https://github.com/Learnathon-By-Geeky-Solutions/flutterfly.git
-
Navigate to the project directory:
cd flutterfly -
Install dependencies:
Run the following command to fetch all dependencies:flutter pub get
-
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
- Development:
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.gradlefile:flavorDimensions "environment" productFlavors { dev { dimension "environment" applicationIdSuffix ".dev" versionNameSuffix "-dev" } staging { dimension "env" applicationIdSuffix ".staging" versionNameSuffix "-staging" } prod { dimension "environment" } }
βοΈ License
Distributed under the MIT License. See LICENSE for more information.
π Top contributors
π¦ 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 |


