A decentralized makerspace membership system built on Aptos blockchain using Move smart contracts.
- Blockchain-based Access Passes: NFT-style membership passes stored on Aptos
- Machine Certifications: Track equipment training and certifications
- Safety Training: Verifiable safety completion status
- Web3 Integration: Connect with Aptos wallets (Petra, Martian, etc.)
- Real-time Updates: Live blockchain data synchronization
- Frontend: React + TypeScript + Tailwind CSS
- Blockchain: Aptos Move Language
- Wallet Integration: Aptos Wallet Adapter
- UI Components: shadcn/ui
- Build Tool: Vite
initialize_counter(admin: &signer)- Initialize the pass counter (admin only)create_access_pass(member: &signer, name: String, timestamp: u64)- Mint new access passadd_certification(address: address, cert: String, is_safety: bool)- Add certifications
struct AccessPass {
pass_id: u64,
member_name: String,
certifications: vector<String>,
safety_training: bool,
creation_timestamp: u64,
}- Node.js 18+
- Aptos CLI
- Aptos wallet (Petra recommended)
# Clone the repository
git clone <YOUR_GIT_URL>
cd <YOUR_PROJECT_NAME>
# Install dependencies
npm install
# Start development server
npm run dev-
Install Aptos CLI
curl -fsSL "https://aptos.dev/scripts/install_cli.py" | python3
-
Initialize Aptos Account
aptos init --network testnet
-
Deploy the Move Module
aptos move publish --package-dir ./src/move --named-addresses MyModule=<YOUR_ADDRESS>
-
Update Frontend Configuration
- Edit
src/lib/aptos.ts - Update
MODULE_ADDRESSwith your deployed contract address
- Edit
-
Update Contract Address
// src/lib/aptos.ts export const MODULE_ADDRESS = "0x..."; // Your deployed address
-
Initialize Counter (Admin Only)
- Connect admin wallet
- Call
initialize_counterfunction once
- Connect Wallet - Use Petra or compatible Aptos wallet
- Create Access Pass - Mint your membership NFT
- Add Certifications - Complete machine training
- Safety Training - Mark safety courses as complete
- Deploy Contract - Publish Move module to Aptos
- Initialize System - Run counter initialization
- Manage Certifications - Add new equipment types
src/
├── components/ # React components
├── lib/ # Utilities and Aptos integration
├── pages/ # Page components
├── move/ # Move smart contracts
└── assets/ # Static assets
AptosWalletConnection- Wallet connectivityWeb3AccessPassCard- Display pass informationWeb3CreatePassForm- Mint new passesWeb3AddCertificationForm- Add certificationsSmartContractInfo- Contract details
- Testnet: For development and testing
- Mainnet: For production deployment
Current configuration uses Aptos Testnet.
- Smart contracts use Aptos Resource Account pattern
- RLS (Resource-Level Security) implemented
- Wallet signature verification required
- No private key exposure in frontend
- Fork the repository
- Create feature branch (
git checkout -b feature/amazing-feature) - Commit changes (
git commit -m 'Add amazing feature') - Push to branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- GitHub Issues: For bug reports and feature requests
- Aptos Discord: For blockchain-specific questions
- Documentation: Check the /docs folder for detailed guides
Ready to revolutionize makerspace management with blockchain technology! 🛠️⛓️