Skip to content

alexcolls/beenzer-dao

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🐝 BEENZER DAO

Decentralized Autonomous Organization on Solana

Version License Vue.js TypeScript Solana

Live Demo | Documentation | Contributing


📖 Table of Contents


🌟 About

Beenzer DAO is a fully decentralized autonomous organization built on the Solana blockchain. It empowers community members to participate in governance, stake tokens, mint NFTs, and trade in a decentralized marketplace. With a focus on transparency, speed, and low transaction costs, Beenzer DAO leverages Solana's high-performance infrastructure to deliver a seamless Web3 experience.

Why Beenzer DAO?

  • 🚀 Lightning Fast: Built on Solana for sub-second transaction finality
  • 💰 Low Fees: Minimal transaction costs compared to other blockchains
  • 🗳️ True Governance: Community-driven decision making through DAO voting
  • 🔒 Secure: Leveraging Solana's proven security infrastructure
  • 🌐 Decentralized: No central authority, fully community-owned

✨ Features

🎨 NFT Minting

Create and mint unique NFTs directly on the Solana blockchain. Our minting platform supports:

  • Custom metadata and attributes
  • Real-time minting status updates
  • Integration with Metaplex standards
  • Countdown timers for minting events

💰 Token Staking

Stake your tokens to earn rewards and participate in governance:

  • Flexible staking periods
  • Real-time APY calculations
  • Automated reward distribution
  • View staking contracts and holder information

🗳️ Governance & Voting

Participate in DAO governance with democratic voting:

  • Create and vote on proposals
  • Real-time vote counting
  • Motion history and results tracking
  • Community chat for discussions
  • Transparent voting records on-chain

🛍️ NFT Marketplace

Buy, sell, and trade NFTs in a decentralized marketplace:

  • Browse community NFT collections
  • Secure peer-to-peer transactions
  • Real-time price updates
  • Creator royalties support

📊 Statistics Dashboard

Comprehensive analytics and insights:

  • Token holder distribution
  • Transaction history and volume
  • Real-time network statistics
  • Interactive charts and visualizations
  • Token supply and circulation metrics

👤 User Profiles

Personalized user experience:

  • Wallet integration and management
  • NFT collection showcase
  • Transaction history
  • Governance participation tracking
  • Customizable profile settings

🛠️ Technology Stack

Frontend

Blockchain Integration

Wallet Support

Supports 15+ popular Solana wallets:

  • 👻 Phantom
  • 🔥 Solflare
  • 🦊 Brave Wallet
  • 💼 Ledger
  • 🌟 Glow
  • 🏦 Coinbase Wallet
  • 📱 Trust Wallet
  • ⚡ Slope
  • And more...

Real-time & Data Visualization

Development Tools

  • Jest - Unit testing framework
  • Cypress - End-to-end testing
  • ESLint - Code linting
  • Vue CLI - Standard tooling for Vue.js

📋 Prerequisites

Before you begin, ensure you have the following installed:

  • Node.js (v16.x or higher)
  • npm (v8.x or higher) or yarn (v1.22.x or higher)
  • Git
  • A Solana wallet (Phantom, Solflare, etc.)

🚀 Installation

  1. Clone the repository
git clone https://github.com/yourusername/beenzer-dao.git
cd beenzer-dao
  1. Install dependencies
npm install

or using yarn:

yarn install

⚙️ Configuration

  1. Create environment configuration

Create a .env.sample file in the root directory:

# Solana Network Configuration
VUE_APP_SOLANA_NETWORK=devnet
VUE_APP_SOLANA_RPC_ENDPOINT=https://api.devnet.solana.com

# Socket.io Server
VUE_APP_SOCKET_ENDPOINT=wss://your-backend-server.com

# Metaplex Configuration
VUE_APP_METAPLEX_ENDPOINT=https://api.metaplex.solana.com

# Application Settings
VUE_APP_TOKEN_MINT_ADDRESS=your_token_mint_address_here
VUE_APP_PROGRAM_ID=your_program_id_here
  1. Copy to active environment file
cp .env.sample .env
  1. Update configuration values

Edit .env with your specific configuration:

  • Replace VUE_APP_SOCKET_ENDPOINT with your backend WebSocket server
  • Update Solana RPC endpoint for mainnet deployment
  • Add your token mint address and program ID

⚠️ Note: Never commit your .env file with sensitive credentials to version control.


💻 Development

Start Development Server

Run the development server with hot-reload:

npm run serve

The application will be available at http://localhost:8080

Build for Production

Compile and minify for production:

npm run build

The optimized files will be generated in the dist/ directory.

Lint and Fix Files

Run ESLint to check and fix code issues:

npm run lint

🧪 Testing

Unit Tests

Run unit tests with Jest:

npm run test:unit

End-to-End Tests

Run E2E tests with Cypress:

npm run test:e2e

For interactive Cypress testing:

npm run test:e2e:open

Test Coverage

Generate test coverage report:

npm run test:unit -- --coverage

🚀 Deployment

Using the Deployment Script

The project includes a deployment script (deploy.sh) for easy deployment:

./deploy.sh

This script will:

  1. Build the production bundle
  2. Navigate to the dist/ directory
  3. Initialize a git repository
  4. Commit the build files
  5. Deploy to your configured hosting service

Manual Deployment

  1. Build the project
npm run build
  1. Deploy to hosting service

Deploy the dist/ folder to your preferred hosting:

  • Vercel: vercel deploy
  • Netlify: netlify deploy --prod
  • AWS S3: aws s3 sync dist/ s3://your-bucket
  • GitHub Pages: Configure in repository settings

Environment-Specific Builds

For different environments:

# Development
npm run build -- --mode development

# Staging
npm run build -- --mode staging

# Production
npm run build -- --mode production

📁 Project Structure

beenzer-dao/
├── public/                  # Static assets
│   ├── index.html          # HTML template
│   ├── favicon.ico         # App favicon
│   └── logo.png            # App logo
├── src/
│   ├── assets/             # Images, fonts, and global CSS
│   │   └── css/            # Stylesheets (TailwindCSS)
│   ├── components/         # Reusable Vue components
│   │   ├── governance/     # Governance-related components
│   │   ├── minting/        # NFT minting components
│   │   ├── modules/        # Shared modules (wallets, modals)
│   │   ├── profile/        # User profile components
│   │   └── staking/        # Staking components
│   ├── router/             # Vue Router configuration
│   │   └── index.ts        # Route definitions
│   ├── services/           # Business logic and API calls
│   │   ├── nfts/           # NFT-related services
│   │   ├── sockets/        # Socket.io integration
│   │   ├── store/          # Vuex store modules
│   │   ├── token/          # Token services
│   │   └── wallets/        # Wallet integration services
│   ├── types/              # TypeScript type definitions
│   ├── utils/              # Utility functions
│   ├── views/              # Page-level components
│   │   ├── GovernanceView.vue
│   │   ├── MarketplaceView.vue
│   │   ├── MintingView.vue
│   │   ├── ProfileView.vue
│   │   ├── StakingView.vue
│   │   └── StatsView.vue
│   ├── App.vue             # Root component
│   ├── main.ts             # Application entry point
│   └── registerServiceWorker.ts  # PWA service worker
├── tests/                  # Test files
│   ├── unit/               # Unit tests
│   └── e2e/                # End-to-end tests
├── config/                 # Configuration files
│   ├── calendar.json       # Roadmap configuration
│   └── motions.json        # Governance motions
├── .browserslistrc         # Browser compatibility
├── .eslintrc.js            # ESLint configuration
├── .gitignore              # Git ignore rules
├── babel.config.js         # Babel configuration
├── cypress.json            # Cypress configuration
├── deploy.sh               # Deployment script
├── jest.config.js          # Jest configuration
├── package.json            # Dependencies and scripts
├── postcss.config.js       # PostCSS configuration
├── tailwind.config.js      # TailwindCSS configuration
├── tsconfig.json           # TypeScript configuration
├── vue.config.js           # Vue CLI configuration
└── webpack.config.js       # Webpack configuration

🤝 Contributing

We welcome contributions from the community! Here's how you can help:

How to Contribute

  1. Fork the repository
git clone https://github.com/yourusername/beenzer-dao.git
  1. Create a feature branch
git checkout -b feature/amazing-feature
  1. Make your changes

    • Write clean, maintainable code
    • Follow the existing code style
    • Add tests for new features
    • Update documentation as needed
  2. Commit your changes

Follow our commit message convention with emojis:

git commit -m "✨ Add amazing new feature"
git commit -m "🐛 Fix critical bug in staking"
git commit -m "📚 Update documentation"
git commit -m "🎨 Improve UI/UX"
git commit -m "♻️ Refactor wallet connection logic"

Commit Emoji Guide:

  • :sparkles: - New feature
  • 🐛 :bug: - Bug fix
  • 📚 :books: - Documentation
  • 🎨 :art: - UI/UX improvements
  • ♻️ :recycle: - Code refactoring
  • :zap: - Performance improvements
  • 🔒 :lock: - Security fixes
  • 🧪 :test_tube: - Tests
  1. Push to your fork
git push origin feature/amazing-feature
  1. Open a Pull Request
    • Provide a clear description of changes
    • Reference any related issues
    • Ensure all tests pass
    • Request review from maintainers

Development Guidelines

  • Code Style: Follow the existing code style and use ESLint
  • Testing: Write unit tests for new features
  • Documentation: Update README and inline comments
  • Commits: Use semantic commit messages with emojis
  • Pull Requests: Keep PRs focused and atomic

Reporting Issues

Found a bug or have a suggestion? Please open an issue:

  1. Check if the issue already exists
  2. Use a clear and descriptive title
  3. Provide detailed steps to reproduce (for bugs)
  4. Include screenshots if applicable
  5. Specify your environment (browser, OS, wallet)

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

MIT License allows you to:

  • ✅ Use commercially
  • ✅ Modify
  • ✅ Distribute
  • ✅ Private use

With the condition that you:

  • 📄 Include the license and copyright notice

📞 Contact

Official Links

Community

  • Discord: Join our community (Link TBA)
  • Twitter: Follow us for updates (Link TBA)
  • Telegram: Join the discussion (Link TBA)

Support

For support and questions:


🙏 Acknowledgments

Special thanks to:

  • Solana Foundation - For building an incredible blockchain platform
  • Metaplex - For NFT standards and tooling
  • Vue.js Team - For the amazing framework
  • Our Community - For continuous support and feedback
  • All Contributors - For making this project better

🔐 Security

Reporting Vulnerabilities

If you discover a security vulnerability, please email us at:

Please do not open a public issue for security vulnerabilities.

Security Best Practices

  • Never share your private keys
  • Always verify transaction details before signing
  • Use hardware wallets for large holdings
  • Keep your wallet software up to date
  • Be cautious of phishing attempts

🗺️ Roadmap

Upcoming features and improvements:

  • Multi-signature wallet support
  • Advanced governance proposals
  • Mobile application (iOS/Android)
  • Layer 2 scaling integration
  • Enhanced analytics dashboard
  • DAO treasury management
  • NFT collections and galleries
  • Cross-chain bridge integration

Check our Issues page for more details.


📊 Stats

GitHub stars GitHub forks GitHub issues GitHub pull requests


Made with ❤️ by the Beenzer Community

Star this repository if you find it helpful!

Report Bug · Request Feature · Contribute

About

🐝 BEENZER DAO: Beenzer's Decentralized Autonomous Organization on Solana (2022)

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Vue 76.8%
  • TypeScript 16.6%
  • CSS 3.8%
  • JavaScript 2.3%
  • Other 0.5%