Skip to content

Secure login using Web3Auth with multiple social and wallet options Meme Creation & Sharing - Upload, share, and discover memes in a decentralized environment ๐Ÿ† NFT Minting - Turn your best memes into NFTs for collectors to purchase ๐Ÿ’ฐ Creator Economy - Receive tips in cryptocurrency for your content ๐Ÿค Social Interact

Notifications You must be signed in to change notification settings

mesayanroy/LOLand

ย 
ย 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

14 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐ŸŽฎ LOLand - Web3 Meme Platform

LOLand Banner

Next.js React TypeScript Tailwind CSS Web3 License

LOLand is a decentralized meme platform that empowers creators to share, monetize, and mint their memes as NFTs.

Demo ยท Report Bug ยท Request Feature


โœจ Features

  • ๐Ÿ” Web3 Authentication - Secure login using Web3Auth with multiple social and wallet options
  • ๐Ÿ–ผ๏ธ Meme Creation & Sharing - Upload, share, and discover memes in a decentralized environment
  • ๐Ÿ† NFT Minting - Turn your best memes into NFTs for collectors to purchase
  • ๐Ÿ’ฐ Creator Economy - Receive tips in cryptocurrency for your content
  • ๐Ÿค Social Interactions - Like, comment, follow, and engage with creators and their memes
  • ๐Ÿ“š Collections - Organize memes into themed collections
  • ๐Ÿ‘ค Profile Management - Customize your profile with bio, avatar, and social links
  • ๐Ÿ” Discovery - Find trending memes and popular creators through algorithmic recommendations
  • ๐Ÿ“ฑ Responsive Design - Optimized for both desktop and mobile experiences

๐Ÿ› ๏ธ Tech Stack

Frontend Next.js React Tailwind Framer Motion
Authentication Web3Auth
Database Supabase PostgreSQL
Blockchain Ethers.js Wagmi RainbowKit

๐Ÿš€ Getting Started

Prerequisites

  • Node.js 18.0 or later
  • Supabase account for database
  • Web3Auth account for authentication

Installation

Click to expand installation steps
  1. Clone the repository:

    git clone https://github.com/Mrinmoy-programmer07/LOLand.git
    cd loland
  2. Install dependencies:

    npm install
  3. Set up your environment variables by copying the .env.example file:

    cp .env.example .env
  4. Update your .env file with your own values:

    # Supabase Configuration
    NEXT_PUBLIC_SUPABASE_URL="your-supabase-url"
    NEXT_PUBLIC_SUPABASE_ANON_KEY="your-supabase-anon-key"
    SUPABASE_SERVICE_ROLE_KEY="your-supabase-service-role-key"
    
    # Web3Auth Configuration
    WEB3AUTH_CLIENT_ID="YOUR_WEB3AUTH_CLIENT_ID"
    NEXT_PUBLIC_WEB3AUTH_CLIENT_ID="YOUR_WEB3AUTH_CLIENT_ID"
    NEXT_PUBLIC_WEB3AUTH_NETWORK="testnet" # "mainnet" for production
    
    # NextAuth Configuration
    NEXTAUTH_URL="http://localhost:3000"
    NEXTAUTH_SECRET="your-nextauth-secret-key"
  5. Start the development server:

    npm run dev
  6. Open http://localhost:3000 in your browser to see the application.

๐Ÿ“Š Database Schema

LOLand uses Supabase with PostgreSQL for its database with the following key models:

Click to view database schema

Core Models

  • User

    • Stores user profiles, wallet addresses, and Web3Auth credentials
    • Manages social relationships and content ownership
  • Meme

    • Contains meme content, metadata, and on-chain information if minted
    • Tracks views, likes, and monetization metrics
  • Collection

    • Groups of memes created by users
    • Can be public or private

Metadata Models

  • Tag & Category
    • Organizational metadata for memes
    • Enables efficient content discovery

Interaction Models

  • Like, Comment, Tip

    • Social interactions and monetization
    • Records engagement metrics
  • Follow & Notification

    • Social connections and activity alerts
    • Powers the user feed algorithm

System Models

  • ContractEvent

    • Tracks on-chain events related to the platform
    • Ensures blockchain synchronization
  • SystemConfig

    • Platform-wide configuration settings
    • Manages feature flags and parameters

๐Ÿ” Authentication Flow

Click to view authentication details
  1. User Authentication:

    • Users sign in using Web3Auth with various social logins or their existing wallets
    • Upon successful authentication, user information is stored in Supabase
  2. Wallet Integration:

    • After authentication, users can connect their wallets using RainbowKit
    • The connected wallet is associated with the user's account

๐Ÿ’Ž NFT Minting Process

Click to view NFT minting details
  1. User uploads a meme to the platform
  2. Meme metadata is stored in Supabase
  3. User can initiate minting through the UI
  4. Smart contract interaction creates an NFT on the blockchain
  5. Meme is updated in the database with tokenId and contract address
  6. Creator can set a price and collectors can purchase the NFT

๐Ÿ“ก API Routes

Click to view API routes
Endpoint Description
/api/auth/* Authentication endpoints
/api/users/* User profile management
/api/memes/* Meme creation, retrieval, and management
/api/collections/* Collection creation and management
/api/social/* Social interactions (likes, comments, follows)
/api/tips/* Cryptocurrency tipping functionality
/api/nft/* NFT minting and marketplace functionality

๐Ÿค Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

Click to view contribution guidelines
  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some 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.

About

Secure login using Web3Auth with multiple social and wallet options Meme Creation & Sharing - Upload, share, and discover memes in a decentralized environment ๐Ÿ† NFT Minting - Turn your best memes into NFTs for collectors to purchase ๐Ÿ’ฐ Creator Economy - Receive tips in cryptocurrency for your content ๐Ÿค Social Interact

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 97.1%
  • CSS 1.6%
  • Other 1.3%