Skip to content

Final year Project - Decentralized crowd funding platform

License

Notifications You must be signed in to change notification settings

Tejasshack/DcFund

 
 

Repository files navigation

DCFund

DcFund is a decentralized crowdfunding platform that leverages blockchain technology to enable transparent and secure fundraising for projects. Built using modern web technologies and decentralized protocols, it empowers users to contribute directly to projects without intermediaries, ensuring transparency and reducing tarrif.

Key Features

  • Decentralized Platform: Built on the Ethereum blockchain, ensuring transparency, security, and trust through smart contracts.
  • Smart Contracts: Written in Solidity and deployed using Hardhat to handle the crowdfunding process, including fund collection and withdrawal, in a trustless environment.
  • Project Creation: Users can create projects, set funding goals, and provide details about their project, such as descriptions, timelines, and rewards for backers.
  • Contribution Tracking: Real-time tracking of contributions, allowing users to monitor project progress and see how funds are utilized.
  • Secure Transactions: Contributions are handled securely via blockchain, with funds only released when specific conditions, like funding goals, are met.

Technologies Used

  • Next.js: For building a fast and scalable web application with server-side rendering capabilities.
  • TypeScript: To add static type checking and enhance code reliability.
  • Hardhat: A development environment for compiling, deploying, testing, and debugging Ethereum smart contracts.
  • Solidity: For writing smart contracts that manage the decentralized crowdfunding process.
  • Tailwind CSS: To design a responsive and modern UI with utility-first styling.
  • Netlify: To deploy and host the frontend application with CI/CD integrations for faster development cycles.

Screen Shots

image

Campaigns

image

Project Structure

  • contracts/: Contains the Solidity smart contracts that define the logic for the crowdfunding platform.
  • pages/: The Next.js pages that handle routing and rendering of the front end.
  • components/: Reusable UI components built with Tailwind CSS.
  • scripts/: Scripts for deploying and interacting with the smart contracts using Hardhat.
  • types/: TypeScript interfaces and types for better code maintainability.

Getting Started

Prerequisites

  • Node.js (version 14 or higher)
  • MetaMask or any Ethereum wallet
  • Hardhat
  • Solidity

Installation

  1. Clone the repository:

    git clone https://github.com/your-username/DcFund.git
  2. Navigate to the project directory:

    cd DcFund
  3. Install dependencies:

    npm install
  4. Compile Smart Contracts:

    npx hardhat compile
  5. Deploy Contracts:

    npx hardhat run scripts/deploy.js --network <network>
  6. Start Development Server:

    npm run dev

Usage

  1. Create Projects: Users can create a new crowdfunding campaign by providing details like a project description, funding goal, and deadline.
  2. Contribute to Projects: Contributors can explore various projects and support them by sending Ether.
  3. Track Progress: Users can track the project's funding status in real-time.
  4. Withdrawal: Once the goal is achieved, project creators can withdraw the funds.

Roadmap

  • Integration with IPFS: For decentralized storage of project data.
  • Token Rewards: Implement tokenized rewards for backers.
  • Mobile Support: Improve mobile responsiveness.
  • Multichain Support: Enable crowdfunding on multiple blockchain networks.

Contributing

Contributions are welcome! Please create a pull request or open an issue if you'd like to contribute or report any problems.

License

This project is licensed under the MIT License.

About

Final year Project - Decentralized crowd funding platform

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 56.5%
  • JavaScript 41.6%
  • Solidity 1.4%
  • CSS 0.5%