Skip to content

AndresChanchi/membership-dapp

Repository files navigation

Membership DApp

Building conscious communities through technology.

Membership DApp is a modular, upgradeable smart contract architecture built during BASE Batches 002 – Builder Track.
It introduces a verifiable way to represent digital memberships for communities, DAOs, and purpose-driven collectives.

This prototype currently includes the MembershipNFT contract and its supporting utilities, following a clean modular structure for future expansion into complete membership ecosystems.


🧩 Architecture Overview

contracts/
├── core
│   ├── MembershipStorage.sol
│   ├── MembershipStructs.sol
│   └── interfaces
│       ├── IAccessControl.sol
│       ├── IMembershipManager.sol
│       ├── IMembershipNFT.sol
│       ├── IPaymentProcessor.sol
│       └── IRegistry.sol
├── integrations
│   ├── PaymasterIntegration.sol
│   ├── SablierIntegration.sol
│   └── USDCInterface.sol
├── modules
│   ├── AccessControl.sol
│   ├── MembershipManager.sol
│   ├── MembershipNFT.sol
│   ├── MembershipRegistry.sol
│   └── PaymentProcessor.sol
└── utils
    ├── Errors.sol
    ├── Events.sol
    ├── Roles.sol
    └── UUPSModifiers.sol

🧱 Current Implementation

At this stage, the focus was on completing and testing MembershipNFT.sol, which provides:

  • ERC-721 compliant membership tokens
  • Modular architecture (separation of storage, roles, and logic)
  • Upgradeable design via UUPS Proxy
  • Role-based permissions for minting, metadata updates, and upgrades
  • Full test coverage using Hardhat and Chai

Supporting modules:

  • utils/ → shared custom errors, events, roles, and upgrade modifiers
  • core/ → storage and data struct abstractions
  • interfaces/ → consistent contract boundaries for future modules

🧬 Future Integrations

The next development phases will integrate:

  • AccessControl → central role registry
  • MembershipManager → orchestrates membership lifecycles
  • MembershipRegistry → persistent registry for cross-contract coordination
  • PaymentProcessor → on-chain payments using ERC-20 and Paymaster
  • Integrations
    • PaymasterIntegration.sol for gas abstraction
    • SablierIntegration.sol for token streaming
    • USDCInterface.sol for stablecoin operations

These modules will complete the system to support account abstraction, dynamic NFTs, and sustainable community reward flows.


🌐 Inspiration

Inspired by Comunidad Parkway, this project aims to merge human connection with verifiable blockchain infrastructure.
Its architecture can also support other membership-based models — such as cultural networks, sustainable collectives, or subscription-based businesses.


⚙️ Setup and Development

1. Clone the repository

Using SSH:

git clone git@github.com:AndresChanchi/membership-dapp.git

Using HTTPS:

git clone https://github.com/AndresChanchi/membership-dapp.git

Then:

cd membership-dapp

2. Install dependencies

pnpm install

3. Compile contracts

pnpm hardhat compile

4. Run tests

pnpm hardhat test

🧠 Tech Stack

  • Solidity (UUPS Upgradeable Pattern)
  • Hardhat — testing, compilation, and proxy management
  • Ethers.js v6
  • pnpm — dependency manager
  • TypeScript — testing and fixture configuration
  • OpenZeppelin Contracts — secure base components

About

MembershipNFT is a modular, upgradeable ERC-721 contract designed for communities that value trust, transparency, and growth. It provides a verifiable way to represent memberships or participation on-chain — from collectives and DAOs to purpose-driven ecosystems.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors