Skip to content

liolikus/Vibecoding-AI-memegenerator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AI Meme Generator on Boundless

An AI-powered meme generator with zero-knowledge proof verification on the Boundless protocol. Create, verify, and share memes with cryptographic proof of generation.

🚀 Features

  • AI-Powered Meme Generation: Create memes using OpenAI's image processing capabilities
  • ZK Proof Verification: Cryptographic proof of meme generation using RISC Zero
  • Decentralized Storage: IPFS-based storage for generated memes
  • Web3 Integration: Wallet-based authentication and blockchain verification
  • Responsive UI: Modern, accessible interface built with Next.js and Tailwind CSS
  • Real-time Updates: Live proof verification and transaction status

🏗️ Architecture

  • Frontend: Next.js 14 with TypeScript and Tailwind CSS
  • Backend: Express.js with Node.js
  • Smart Contracts: Solidity with Foundry
  • ZK Proofs: RISC Zero for verification
  • Storage: IPFS (Pinata) + PostgreSQL
  • AI: OpenAI API for image processing

📋 Prerequisites

  • Node.js 18+ and npm 9+
  • Foundry (for smart contract development)
  • RISC Zero (for ZK proof generation)
  • PostgreSQL database
  • OpenAI API key
  • Pinata API key

🛠️ Installation

  1. Clone the repository

    git clone <repository-url>
    cd ai-meme-generator
  2. Install dependencies

    npm run setup
  3. Set up environment variables

    cp .env.example .env
    # Edit .env with your API keys and configuration
  4. Set up the database

    cd backend
    npx prisma migrate dev
    npx prisma generate
  5. Deploy smart contracts

    cd contracts
    forge build
    forge script Deploy --rpc-url <your-rpc-url> --broadcast

🚀 Development

Start development servers

npm run dev

This will start:

Run tests

npm run test

Build for production

npm run build

📁 Project Structure

ai-meme-generator/
├── frontend/          # Next.js frontend application
├── backend/           # Express.js backend API
├── contracts/         # Solidity smart contracts
├── zkvm/             # RISC Zero guest programs
├── docs/             # Project documentation
└── scripts/          # Deployment and utility scripts

🔧 Configuration

Environment Variables

Create a .env file in the root directory:

# Database
DATABASE_URL="postgresql://user:password@localhost:5432/meme_generator"

# OpenAI
OPENAI_API_KEY="your-openai-api-key"

# IPFS (Pinata)
PINATA_API_KEY="your-pinata-api-key"
PINATA_SECRET_KEY="your-pinata-secret-key"

# Blockchain
PRIVATE_KEY="your-private-key"
RPC_URL="your-rpc-url"

# Boundless
BOUNDLESS_API_KEY="your-boundless-api-key"
BOUNDLESS_CONTRACT_ADDRESS="boundless-contract-address"

# JWT
JWT_SECRET="your-jwt-secret"

🧪 Testing

Frontend Tests

cd frontend
npm run test

Backend Tests

cd backend
npm run test

Smart Contract Tests

cd contracts
forge test

E2E Tests

npm run test:e2e

📚 Documentation

🤝 Contributing

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

📄 License

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

🙏 Acknowledgments

🆘 Support

If you encounter any issues or have questions:

  1. Check the documentation
  2. Search existing issues
  3. Create a new issue with detailed information

🔗 Links

About

Vibecoding AI Meme Generator on Boundless

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published