Skip to content

A new version of the Dragverse named after Miss Understood - A New York City-based queen who frequently performed at the Pyramid Club and Wigstock, and appeared in films including "To Wong Foo" and "Sex and the City" 2.

Notifications You must be signed in to change notification settings

Dragverse/miss-understood

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🎭 Dragverse

Where Drag Comes to Play - A decentralized video streaming platform built for drag artists and their communities.

✨ Features

πŸŽ₯ Video Streaming

  • Short-form content (Bytes): Vertical videos up to 60 seconds
  • Long-form content: Horizontal videos from 1 to 60 minutes
  • Livepeer-powered: High-quality video transcoding and streaming
  • Multi-bitrate support: Adaptive streaming for all devices (720p, 480p, 360p)

πŸ“‘ Livestreaming

  • Creator livestreams: Any creator can start their own stream with OBS/Streamyard
  • Official Dragverse stream: Featured on homepage with real-time status detection
  • RTMP ingest: Professional streaming setup with stream keys
  • Live status detection: Backend API checks stream status every 30 seconds

πŸ’° Monetization

  • Crypto tipping: ETH and USDC tips on Base Network
  • Fiat payments: Stripe integration (coming soon)
  • Creator dashboard: Track earnings, views, likes, and engagement
  • Direct transfers: No middleman - tips go directly to creators

πŸ” Authentication

  • Privy Auth: Email, Google, and Farcaster login
  • Web3 wallets: MetaMask, WalletConnect, Coinbase Wallet
  • Decentralized identity: DID-based user profiles

πŸ“Š Creator Tools

  • Dashboard: Analytics, earnings, and content management
  • Upload validation: Automatic duration and file size checks
  • Video management: Edit metadata, view stats, delete content
  • Earnings tracking: Combined crypto + fiat revenue display

🌐 Social Features

  • Hall of Fame: Top creators leaderboard
  • Notifications: Real-time alerts for tips, likes, comments, follows
  • Follow system: Build your audience
  • Comments & likes: Engage with content

🎨 UI/UX

  • Dark theme: Purple gradient brand colors (#EB83EA, #7c3aed)
  • Responsive design: Mobile-first, works on all devices
  • Smooth animations: Polished transitions and interactions
  • Hero slider: Featured content carousel on homepage

πŸ—οΈ Tech Stack

Frontend

  • Next.js 16.1.2: App Router, React Server Components, Turbopack
  • React 19: Latest features and performance improvements
  • TypeScript: Full type safety
  • Tailwind CSS: Utility-first styling
  • React Hot Toast: Beautiful notifications

Video Infrastructure

  • Livepeer Studio: Video transcoding, streaming, and livestream management
  • HLS streaming: HTTP Live Streaming protocol
  • TUS protocol: Resumable video uploads

Authentication & Identity

  • Privy: Authentication provider (email, social, wallet)
  • Ceramic Network: Decentralized data storage (configured but not yet deployed)
  • ComposeDB: GraphQL schemas for user data

Blockchain

  • Base Network: Layer 2 Ethereum (low fees, fast transactions)
  • Wagmi: React hooks for Ethereum (integration ready)
  • Viem: TypeScript Ethereum library

Future Integrations

  • Stripe: Fiat payment processing (Phase 7B)
  • Bluesky, Farcaster, Lens: Social media cross-posting (Phase 6)
  • Ghost/Substack: Creator blogging (Phase 11)

πŸš€ Getting Started

Prerequisites

Installation

  1. Clone the repository
git clone https://github.com/yourusername/dragverse-salti.git
cd dragverse-salti
  1. Install dependencies
npm install
  1. Set up environment variables
cp .env.example .env.local

Edit .env.local and add your API keys:

# Authentication (PUBLIC)
NEXT_PUBLIC_PRIVY_APP_ID=your_privy_app_id

# Livepeer (PRIVATE - server-only)
LIVEPEER_API_KEY=your_livepeer_api_key

# Ceramic (PRIVATE - optional for now)
CERAMIC_URL=https://ceramic-clay.3boxlabs.com
CERAMIC_ADMIN_SEED=your_ceramic_seed
  1. Run the development server
npm run dev
  1. Open your browser Navigate to http://localhost:3000

πŸ“ Project Structure

dragverse-salti/
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ app/
β”‚   β”‚   β”œβ”€β”€ (platform)/          # Authenticated routes
β”‚   β”‚   β”‚   β”œβ”€β”€ dashboard/       # Creator dashboard
β”‚   β”‚   β”‚   β”œβ”€β”€ live/            # Livestream creation
β”‚   β”‚   β”‚   β”œβ”€β”€ notifications/   # Notification center
β”‚   β”‚   β”‚   β”œβ”€β”€ upload/          # Video upload
β”‚   β”‚   β”‚   β”œβ”€β”€ watch/[id]/      # Video player
β”‚   β”‚   β”‚   └── ...
β”‚   β”‚   └── api/                 # Backend API routes
β”‚   β”‚       β”œβ”€β”€ stream/          # Livestream APIs
β”‚   β”‚       β”œβ”€β”€ tips/            # Tipping APIs
β”‚   β”‚       β”œβ”€β”€ upload/          # Upload APIs
β”‚   β”‚       └── video/           # Video metadata APIs
β”‚   β”œβ”€β”€ components/
β”‚   β”‚   β”œβ”€β”€ home/                # Homepage components
β”‚   β”‚   β”œβ”€β”€ layout/              # Navigation, sidebar
β”‚   β”‚   β”œβ”€β”€ video/               # Video player, tip modal
β”‚   β”‚   └── dashboard/           # Dashboard components
β”‚   β”œβ”€β”€ lib/
β”‚   β”‚   β”œβ”€β”€ ceramic/             # Ceramic/ComposeDB schemas
β”‚   β”‚   β”œβ”€β”€ livepeer/            # Livepeer utilities
β”‚   β”‚   β”œβ”€β”€ privy/               # Auth hooks
β”‚   β”‚   └── store/               # State management
β”‚   └── styles/
β”‚       └── globals.css          # Global styles
β”œβ”€β”€ composites/                  # Ceramic GraphQL schemas
β”œβ”€β”€ public/                      # Static assets
└── scripts/
    └── setup-ceramic.sh         # Ceramic deployment script

πŸ”‘ Environment Variables

Public Variables (Client-side)

These are prefixed with NEXT_PUBLIC_ and are visible to the browser:

  • NEXT_PUBLIC_PRIVY_APP_ID: Your Privy application ID

Private Variables (Server-only)

These are NOT prefixed and only available server-side:

  • LIVEPEER_API_KEY: Livepeer Studio API key
  • CERAMIC_URL: Ceramic network endpoint (optional)
  • CERAMIC_ADMIN_SEED: Ceramic admin seed (optional)

⚠️ Security Note: Never add NEXT_PUBLIC_ prefix to sensitive API keys!

πŸ“ Development Commands

# Development
npm run dev              # Start dev server with Turbopack
npm run build            # Build for production
npm run start            # Start production server
npm run lint             # Run ESLint

# Ceramic (when ready)
npm run ceramic:setup    # Deploy Ceramic schemas

🀝 Contributing

We welcome contributions! Please follow these guidelines:

  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

MIT License

πŸ™ Acknowledgments

  • Livepeer: Video infrastructure and livestreaming
  • Privy: Authentication and wallet management
  • Ceramic Network: Decentralized data storage
  • Next.js: Framework and tooling

Built with ❀️ by the Dragverse team

Where Drag Comes to Play 🎭✨

About

A new version of the Dragverse named after Miss Understood - A New York City-based queen who frequently performed at the Pyramid Club and Wigstock, and appeared in films including "To Wong Foo" and "Sex and the City" 2.

Resources

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •