Skip to content

Decentralized 👥Crowdfunding applicalication - Mobile Application

License

Notifications You must be signed in to change notification settings

DefiFundr-Labs/defiraise_mobile

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

50 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DefiFundr - A decentralized crowdfunding platform for the Ethereum blockchain

CI codecov

Banner

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

make clean

This command will remove the build folder and the .dart_tool folder.

make build

This command will build the project.

make run

Generate all freezed files and generated files

make gen

Running with Flutter Commands

flutter clean

This command will remove the build folder and the .dart_tool folder.

flutter build apk

This command will build the project.

flutter run

Generate all freezed files and generated files

flutter pub run build_runner build

Testing

flutter test

This command will run all the tests in the test folder.

flutter test --coverage

This command will run all the tests using the makefile

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