An open API service indexing awesome lists of open source software.

https://github.com/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.
https://github.com/learnathon-by-geeky-solutions/flutterfly

bidding-app clean-architecture clean-architecture-android ecommerce firebase flutter mobile-app repository-pattern riverpod

Last synced: about 1 year ago
JSON representation

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

Awesome Lists containing this project

README

          

[![Contributors][contributors-shield]][contributors-url]
[![Forks][forks-shield]][forks-url]
[![Stargazers][stars-shield]][stars-url]
[![Issues][issues-shield]][issues-url]
[![Unlicense License][license-shield]][license-url]


[![Quality Gate](https://sonarcloud.io/api/project_badges/measure?project=Learnathon-By-Geeky-Solutions_flutterfly&metric=alert_status&style=for-the-badge)](https://sonarcloud.io/dashboard?id=Learnathon-By-Geeky-Solutions_flutterfly)
[![Vulnerabilities](https://sonarcloud.io/api/project_badges/measure?project=Learnathon-By-Geeky-Solutions_flutterfly&metric=vulnerabilities)](https://sonarcloud.io/component_measures/domain/Vulnerability?id=Learnathon-By-Geeky-Solutions_flutterfly)
[![Bugs](https://sonarcloud.io/api/project_badges/measure?project=Learnathon-By-Geeky-Solutions_flutterfly&metric=bugs)](https://sonarcloud.io/component_measures/domain/Bugs?id=LLearnathon-By-Geeky-Solutions_flutterfly)
[![Security](https://sonarcloud.io/api/project_badges/measure?project=Learnathon-By-Geeky-Solutions_flutterfly&metric=security_rating)](https://sonarcloud.io/component_measures/domain/Security?id=LLearnathon-By-Geeky-Solutions_flutterfly)


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

๐Ÿ“– Table of Contents

- โžก๏ธ Visit Our Wiki
- โš ๏ธ Problem Statement
- [๐Ÿ“ฑ Features](#-features)
- [๐Ÿงฉ Project Structure: Feature-First Clean Architecture with Repository Pattern](#clean)
- โžก๏ธ Visit Our Wiki
- [๐Ÿš€ Getting Started](#-getting-started)
- [Prerequisites](#prerequisites)
- [Installation](#installation)
- [Setting Up Flavors](#setting-up-flavors)
- โš–๏ธ License
- [๐ŸŒŸ Top Contributors](#-top-contributors)
- ๐Ÿฆ‹ Team Information: Flutterfly


## โžก๏ธ Visit Our Wiki

For comprehensive documentation, guides, and resources related to the Flutterfly project, please explore our [Wiki](https://github.com/Learnathon-By-Geeky-Solutions/flutterfly/wiki). It provides in-depth insights to help you understand and contribute effectively.



GitHub Learnathon Wiki


## โš ๏ธ 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)


## ๐Ÿงฉ 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][Figma]][Figma-url]
* [![Flutter][Flutter]][Flutter-url]
* [![Dart][Dart]][Dart-url]

(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:
- **Flutter SDK**: [Install Flutter](https://docs.flutter.dev/get-started/install)
- **Android Studio** (for Android development)
- **Git**: [Download Git](https://git-scm.com/)

Verify Flutter installation:
```sh
flutter doctor
```

### Installation

1. **Clone the repository**:
```sh
git clone https://github.com/Learnathon-By-Geeky-Solutions/flutterfly.git
```

2. **Navigate to the project directory**:
```sh
cd flutterfly
```

3. **Install dependencies**:
Run the following command to fetch all dependencies:
```sh
flutter pub get
```

4. **Run the app**:
Use the following commands to run the app for specific flavors:
- **Development**:
```sh
flutter run --flavor dev
```
- **Staging**:
```sh
flutter run --flavor staging
```
- **Production**:
```sh
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](https://github.com/MayeeshaMusarrat) |
| Maria Sultana | Member | [MariaSultana20](https://github.com/MariaSultana20) |
| Raisa Rahman | Member | [raisarahman777](https://github.com/raisarahman777) |
| Main Oddin Chisty | Mentor | [chisty2996](https://github.com/chisty2996) |

[contributors-shield]: https://img.shields.io/github/contributors/Learnathon-By-Geeky-Solutions/flutterfly.svg?style=for-the-badge
[contributors-url]: https://github.com/Learnathon-By-Geeky-Solutions/flutterfly/graphs/contributors
[forks-shield]: https://img.shields.io/github/forks/Learnathon-By-Geeky-Solutions/flutterfly.svg?style=for-the-badge
[forks-url]: https://github.com/Learnathon-By-Geeky-Solutions/flutterfly/network/members
[stars-shield]: https://img.shields.io/github/stars/Learnathon-By-Geeky-Solutions/flutterfly.svg?style=for-the-badge
[stars-url]: https://github.com/Learnathon-By-Geeky-Solutions/flutterfly/stargazers
[issues-shield]: https://img.shields.io/github/issues/Learnathon-By-Geeky-Solutions/flutterfly.svg?style=for-the-badge
[issues-url]: https://github.com/Learnathon-By-Geeky-Solutions/flutterfly/issues
[license-shield]: https://img.shields.io/github/license/Learnathon-By-Geeky-Solutions/flutterfly.svg?style=for-the-badge&color=color=#50C878
[license-url]: https://github.com/Learnathon-By-Geeky-Solutions/flutterfly/blob/master/LICENSE
[FigJam]: https://img.shields.io/badge/FigJam-F24E1E?style=for-the-badge&logo=figma&logoColor=white
[FigJam-url]: https://www.figma.com/figjam/

[sonarqube-shield]:https://img.shields.io/static/v1?label=Quality%20Gate&message=Passed&color=brightgreen&style=for-the-badge
[sonarqube-url]: https://sonarcloud.io/dashboard?id=Learnathon-By-Geeky-Solutions_flutterfly

[Figma]: https://img.shields.io/badge/Figma-F24E1E?style=for-the-badge&logo=figma&logoColor=white
[Figma-url]: https://www.figma.com/

[Flutter]: https://img.shields.io/badge/Flutter-02569B?style=for-the-badge&logo=flutter&logoColor=white
[Flutter-url]: https://flutter.dev/

[Dart]: https://img.shields.io/badge/Dart-0175C2?style=for-the-badge&logo=dart&logoColor=white
[Dart-url]: https://dart.dev/

(back to top)