/ETHKL23-SpinForGood-fork

Primary LanguageTypeScriptMIT LicenseMIT

ETHKL23-SpinForGood

ETHKL 2023 Grand Prizes for Top 5 Finalist

Donate, Play, Win - Supports registered non-profit organizations dedicated to those in need, and win prizes with transparency on our platform, combining giving with gaming excitement.

1. Landing page

2. Dashboard

3. Donation Page

4. Register as NPO Page


Features

Our Web3 Gamified Donation Platform offers several unique features:

  1. Roulette Twist: When a donation is made, 25% of the contribution goes into a prize pool. The lucky donor who gets chosen by the roulette will win the prize, making giving more exciting.

  2. Support for NPOs: The remaining 75% of the donation goes into the donation pool. Within this pool, 50% is evenly distributed among all registered NPOs to support their causes. The other 50% goes into a separate roulette for NPOs, where one lucky NPO will receive extra funds.

  3. Smart Contract Powered: All fund management and the random selection of lucky winners are handled by a secure and transparent smart contract, ensuring fair and unbiased outcomes.


Technology Stack

  1. Ethereum: The core of our platform relies on Ethereum smart contracts to manage donations, prizes, and roulette selections.

  2. Scaffold-eth: The scaffold-eth framework provides the foundation for our project, including contract functions, and more. We've extended and customized the platform to incorporate the gamified donation features.

  3. Next.js: The frontend of the platform is built using React, offering a responsive and intuitive user interface.

  4. Solidity: The smart contracts are written in Solidity to ensure security and transparency.


Smart Contract

1. An example of NPO registration and donation on the smart contract

2. The management of outgoing funds after end of duration

3. An example of a wallet address receiving funds from the smart contract


Getting started

  1. Clone the project repository to your local machine:
git clone https://github.com/sirhcofe/ETHKL23-SpinForGood.git spinforgood
  1. Navigate to project repository:
cd spinforgood
  1. Install the necessary dependencies:
npm i
  1. You can start a local Ethereum network using Hardhat:
npm run chain
  1. On a second terminal, deploy the contract:
npm run deploy
  1. On a third terminal, start the Next.js app:
npm run start

Visit http://localhost:3000 in your web browser to access the application.


Extras

You can view more regarding the project here: https://devfolio.co/projects/spin-for-good-213b