Skip to content

Naveen6612/DCFUND

Repository files navigation

DCFUND: Web3-Based Crowdfunding App

DCFUND is a crowdfunding application built on web3 technologies, enabling transparent and secure transactions on the Ethereum blockchain.

Key Features & Benefits

  • Decentralized Transactions: All financial interactions are recorded and verified on the Ethereum blockchain.
  • Transparency: Campaign funding and disbursement are publicly auditable.
  • Web3 Integration: Seamless connection to users' cryptocurrency wallets.
  • User-Friendly Interface: Intuitive design for easy campaign creation and donation.

Prerequisites & Dependencies

Before you begin, ensure you have the following installed:

  • Node.js: Version 18 or higher recommended.
  • npm or yarn: Package managers for JavaScript.
  • Ethereum Wallet: MetaMask or similar web3 wallet.

This project relies on the following technologies:

  • JavaScript
  • TypeScript
  • Next.js
  • React
  • Tailwind CSS
  • thirdweb

Installation & Setup Instructions

Follow these steps to set up the DCFUND project:

  1. Clone the Repository:

    git clone https://github.com/Naveen6612/DCFUND.git
    cd DCFUND
  2. Install Dependencies:

    Using npm:

    npm install

    or using yarn:

    yarn install
  3. Set Environment Variables:

    Create a .env.local file in the project root and add your Thirdweb client ID:

    NEXT_PUBLIC_TEMPLATE_CLIENT_ID=YOUR_THIRDWEB_CLIENT_ID
    

    Obtain a client ID from the thirdweb dashboard.

  4. Start the Development Server:

    Using npm:

    npm run dev

    or using yarn:

    yarn dev

    The application should now be running at http://localhost:3000.

Usage Examples & API Documentation

Creating a Campaign

  1. Connect your Ethereum wallet.
  2. Navigate to the campaign creation page.
  3. Fill in the campaign details (title, description, goal, etc.).
  4. Submit the campaign. A smart contract will be deployed for your campaign.

Donating to a Campaign

  1. Browse existing campaigns.
  2. Select a campaign to donate to.
  3. Enter the donation amount.
  4. Approve the transaction in your Ethereum wallet.

Client Configuration

The Thirdweb client is initialized in src/app/client.ts:

import { createThirdwebClient } from "thirdweb";

const clientId = process.env.NEXT_PUBLIC_TEMPLATE_CLIENT_ID;

if (!clientId) {
  throw new Error("No client ID provided");
}

export const client = createThirdwebClient({
  clientId: clientId,
});

Contract Address

The crowdfunding factory contract address is defined in src/app/constants/contracts.ts:

export const CROWDFUNDING_FACTORY =
  "0x051a1173bae099fa4fcca465b17ae62d57fc8566";

Configuration Options

  • NEXT_PUBLIC_TEMPLATE_CLIENT_ID: Your Thirdweb client ID.

Contributing Guidelines

We welcome contributions to the DCFUND project!

  1. Fork the repository.
  2. Create a new branch for your feature or bug fix.
  3. Implement your changes.
  4. Submit a pull request with a clear description of your changes.

License Information

This project is open-source and available under the [License Name] License. Please see the LICENSE file for more details.

Acknowledgments

About

A cowd funding app based on web3 , all transaction on etherum chain

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors