DAOnation is a decentralized platform that enables creators, developers, and organizations to accept cryptocurrency contributions effortlessly. It's a crypto-powered alternative to traditional "Buy Me a Coffee" platforms, designed for the Web3 era.
- Overview
- Tech Stack
- Key Features
- Getting Started
- Usage
- Project Structure
- Contributing
- License
- Acknowledgments
DAOnation bridges the gap between content creators and their supporters in the Web3 ecosystem. Our platform allows users to create personalized profiles with unique usernames, share profile links to receive crypto contributions, and track all their earnings in one dashboard.
- Frontend Framework: Next.js 15 (App Router)
- UI Library: React 18
- Language: TypeScript
- Styling: Tailwind CSS, shadcn/ui, Radix UI
- Authentication: NextAuth.js
- Database: Prisma ORM
- Blockchain Integration: Solana Web3.js
- Wallet Adapters: Solana Wallet Adapter
- Animation: Framer Motion, React Spring, tsParticles
- Charts: Recharts
- Deployment: Vercel
- Crypto-First: Direct wallet-to-wallet transactions with no intermediaries
- Personalized Profiles: Custom usernames and profile pages for easy sharing
- Multi-Wallet Support: Connect with various Solana wallets
- Real-time Analytics: Track contributions and engagement metrics
- Responsive Design: Optimized for all devices and screen sizes
- QR Code Generation: Easily shareable QR codes for your donation page
- Transaction Explorer: Verify transactions on the blockchain
- Node.js (v18 or higher)
- Bun or npm
- A Solana wallet (for testing)
-
Clone the repository:
git clone https://github.com/yourusername/daonation.git cd daonation -
Install dependencies:
bun install # or npm install -
Set up the database:
# using docker sudo docker run -d --name postgres -e POSTGRES_USER=postgres -e POSTGRES_PASSWORD=postgres -e POSTGRES_DB=postgres -p 5432:5432 postgresnpx prisma generate npx prisma db push
-
Start the development server:
bun run dev # or npm run dev
Create a .env file in the root directory with the following variables:
# Database
DATABASE_URL="your-database-url"
# NextAuth
NEXTAUTH_URL="http://localhost:3000"
NEXTAUTH_SECRET="your-nextauth-secret"
# Other services
EDGE_STORE_ACCESS_KEY=
EDGE_STORE_SECRET_KEY=
GOOGLE_CLIENT_ID=
GOOGLE_CLIENT_SECRET=-
Create an Account:
Sign up with a unique username and connect your crypto wallet. -
Customize Your Profile:
Add your details, social links, and a description of your work. -
Share Your Profile:
Use your unique link (daonation.xyz/yourusername) to receive contributions. -
Track Your Contributions:
Access your personal dashboard to monitor earnings and manage transactions.
daonation/
├── actions/ # Server actions for data mutations
├── app/ # Next.js app directory with routes
├── components/ # Reusable UI components
├── db/ # Database configuration
├── lib/ # Utility functions and shared logic
├── prisma/ # Prisma schema and migrations
├── public/ # Static assets
└── ...
We welcome contributions to DAOnation! Please follow these steps:
- Fork the repository
- Create a new branch (
git checkout -b feature/amazing-feature) - Make your changes
- Commit your changes (
git commit -m 'Add some amazing feature') - Push to the 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.
- The Solana ecosystem for providing the tools and infrastructure
- All open-source projects that made this possible
- Our early adopters and community members
