Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/demola234/defiraise_mobile
Decentralized 👥Crowdfunding applicalication - Mobile Application
https://github.com/demola234/defiraise_mobile
bloc clean-architecture cryptocurrency ethereum-contract flutter tdd web3
Last synced: 2 months ago
JSON representation
Decentralized 👥Crowdfunding applicalication - Mobile Application
- Host: GitHub
- URL: https://github.com/demola234/defiraise_mobile
- Owner: demola234
- License: mit
- Created: 2023-06-09T11:42:23.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-08-21T21:34:33.000Z (5 months ago)
- Last Synced: 2024-08-22T21:57:27.534Z (5 months ago)
- Topics: bloc, clean-architecture, cryptocurrency, ethereum-contract, flutter, tdd, web3
- Language: Dart
- Homepage:
- Size: 110 MB
- Stars: 3
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# DefiFundr - A decentralized crowdfunding platform for the Ethereum blockchain
[![CI](https://github.com/demola234/tdd_weather/actions/workflows/cl.yml/badge.svg)](https://github.com/demola234/tdd_weather/actions/workflows/cl.yml)
[![codecov](https://codecov.io/gh/demola234/deFICrowdFunding-Mobile/graph/badge.svg?token=VHYGUKF9YA)](https://codecov.io/gh/demola234/deFICrowdFunding-Mobile)![Banner](https://github.com/demola234/defiraise_mobile/blob/main/screenshots/DefiFundr_Banner.png)
## What is DefiFundr?
DefiFundr is a decentralized crowdfunding platform built on the Ethereum blockchain. It allows users to create and contribute to crowdfunding campaigns, and allows campaign creators to set a funding goal and deadline. If the funding goal is met before the deadline, the campaign is successful and the funds are released to the campaign creator. If the funding goal is not met before the deadline, the campaign is unsuccessful and the funds are returned to the contributors.
## Prerequisites
- Flutter SDK
- Android Studio / Xcode
- Golang (for running the local blockchain)
- Ganache (for running the local blockchain)
- Metamask (for interacting with the blockchain)
- Solidity (for writing smart contracts)## Project Code Architecture
### Clean Architecture
The project is structured using the Clean Architecture pattern, which separates the code into different layers based on their responsibilities. The layers are as follows:
- Presentation Layer: This layer contains the UI code, including widgets, screens, and navigation.
- Domain Layer: This layer contains the business logic of the application, including use cases, entities, and repositories.
- Data Layer: This layer contains the data sources of the application, including local and remote data sources.## Demo
## Installation
### Running with MakeFile```bash
make clean
```This command will remove the build folder and the .dart_tool folder.
```bash
make build
```This command will build the project.
```bash
make run
```Generate all freezed files and generated files
```bash
make gen
```### Running with Flutter Commands
```bash
flutter clean
```This command will remove the build folder and the .dart_tool folder.
```bash
flutter build apk
```This command will build the project.
```bash
flutter run
```Generate all freezed files and generated files
```bash
flutter pub run build_runner build
```## Testing
```bash
flutter test
```This command will run all the tests in the test folder.
```bash
flutter test --coverage
```This command will run all the tests using the makefile
```bash
make test
```## Features
- Create a new campaign
- Contribute to an existing campaign
- View all campaigns
- View a single campaign
- View the current balance of a campaign
- View the total amount raised by a campaign
- View the total number of contributors to a campaign
- View the deadline of a campaign
- View the funding goal of a campaign
- View the status of a campaign (successful or unsuccessful)
- View the creator of a campaign
- View the contributors to a campaign
- View the amount contributed by a contributor to a campaign
- View the total amount contributed by a contributor to all campaigns
- Change avatar image
- Biometrics authentication
- Otp authentication
- Email authentication
- Password authentication## Screenshots