Giter VIP home page Giter VIP logo

fundguys's Introduction

⛓️ On Chain Buidls

  • A dynamic SVG NFT project for the BuidlGuidl
  • Uses chainlink functions to verify membership by making request from smart contract to off chain API
  • Dynamically displays NFT's background color, build count, and ens name
  • A contest where players are airdropped ERC-20 tokens to deposit into ERC-4626 vaults
  • Uses Chainlink VRF to randomly determine return on investment for each of the three vaults
  • Leaderboard and round state are tracked using events emitted on chain
  • Learn how to integrate price feeds in your smart contracts using AggregatorV3Interface
  • Spin the wheel of fruit to request a verifiably random number from the VRF Coordinator
  • Play with the simple counter contract to understand how chainlink keeper nodes perform automated tasks on chain
  • Swap tokens using uniswap's smart order router that computes the optimal route before executing the swap
  • Gets the price for a base asset in terms of a quote asset using chainlink price feeds
  • Fetches abi from etherscan API and output the result to a .json file inside the ./abis directory

🕸️ Web2 Builds

  • Full stack, single page web app managing all data for a local golf organization
  • Users are able to input their strokes, putts, and greenies as they play each golf round
  • Custom built internal API that handles create, read, update, and delete operations
  • Calculates handicaps and points for determining individual tournament and season long champions
  • Elementary school website promoting services and providing up to date information for parents
  • Offers forms that enable users to send the school messages via emails that are DKIM verified with Postmark
  • Uses a headless content management system to update data and images displayed on the site

fundguys's People

Contributors

mattpereira avatar printrh avatar swellander avatar tantodefi avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Forkers

myevm-dev

fundguys's Issues

Create campaigns page

Overview

We want to show all the campaigns and offer user a button that allows them to donate funds. The button should trigger a modal that contains form where user can select which token they want to donate

Set up funding contract to mint Mycologuys NFT on donation

Overview

Reward and incentivize funders by minting them an NFT the first time they donate to any campaign.

Questions

  • if they have already donated should they receive a second NFT?
  • or maybe they get an additional NFT per unique campaign donated to?

Rough draft of front-end functionality

Overview

We want to start to build the frontend so we can iterate

Items

  • Landing page with explanation of FundGUys
  • Create a campaign and display the card on frontend
  • When user clicks card take them to the campaign details page

Create Funders page

Overview

We want to recognize the donatooors by displaying their info and shroom NFT on the funders page

Write NFT contract

Overview

Use the test ipfs hash for metadata to create the nft contract and figure out how to make the owner the public goods funding contract and add mint functionality

https://app.pinata.cloud/pinmanager

metadata_test: QmVirxJd7pHW8ik23VfZ3RhMzPQEgMFtCReh4xPvguT2Rn
images_test: QmYnqw5S4f66w64vWVuuYSTMK51n84MRFnb64m7LoGZmto

Technical Debts

  • Hardcoded wETH token contract address on Sepolia. Need to be removed when migrating to Base. (Look at CreateCampaign component to fix this)
  • Modify API route to Base when moving to Mainnet.
  • Revise profile card to add props that show the profile nav button if connectedAddress. Then connectedAddress will show project owner cards.
  • Take out "handleShare" from Campaign Cards

Create profile page

Overview

Users who have created campaigns need to be able to withdraw their funds through our frontend

Items

  • add "profile" to navbar
  • show user all the campaigns they have deployed
  • offer user a way to withdraw funds from campaign

Refactor contract to use factory pattern

Overview

The plan is to refactor our PublicGoodsFunding.sol so that each project can have a unique address to receive funding directly, rather than through a function call.

The general idea will be for PublicGoodsFunding.sol to expose a createProject() function to be called by our front end. The function will deploy a new instance of Project.sol that users donate directly to by sending ETH (or soon a token) to that project instance's address. For each donation to a project that meets a certain threshold (TBD), the instance will be responsible for calling back to PublicGoodsFunding.sol, which is where we can trigger the NFT mint.

Items

  • Refactor into factory pattern
  • Decide on donation thresholds that will earn a user an NFT

Rename layer assets

Overview

We need to rename the files inside of packages/collection/layers/* because the name of the file ends up as the attribute for the metadata

This will need to be done for each file in each of the layer folders.

i.e. we dont want "Feet_01" to be the value for trait type "Feet"
image

Create donate or swap button/modal for funders

Integrate 0x API protocol with donate button and modal. Set up logic:

IF donorTokenAddress == projectTokenAddress
THEN donate in native token
ELSE swap thru 0x API (token approval happens here)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.