Skip to content

An open source platform connecting crypto founders with elite talent to create bounties, and accelerate project completion

License

Notifications You must be signed in to change notification settings

SuperteamDAO/earn

Repository files navigation

Superteam Earn Icon

Superteam Earn

An open source platform connecting crypto founders with elite talent to create bounties, and accelerate project completion

Project Status: Active GitHub issues GitHub pull requests Follow

🔗Official Links

🛠️Development Setup

Prerequisites

Getting Started

  1. Clone the repository into a public Github repository (or fork it):

    git clone https://github.com/SuperteamDAO/earn.git
  2. Navigate to the project directory:

    cd earn
  3. Install the dependencies:

    pnpm i
  4. Set up your .env file.

  • Start by copying the .env.example file to a new file named .env. This file will store your local environment settings.

  • Database setup:

    Option 1: Local MySQL (Recommended for Development)

    The app automatically detects your database type based on DATABASE_URL. Choose your platform:

    🍎 macOS
    1. Install MySQL using Homebrew:

      brew install mysql
    2. Start MySQL service:

      brew services start mysql
    3. Create database:

      mysql -u root -e "CREATE DATABASE earn_db"
    4. Set DATABASE_URL in .env:

      DATABASE_URL='mysql://root@localhost:3306/earn_db'
      
    🪟 Windows
    1. Option A: Using MySQL Installer (Recommended for beginners)

      • Download MySQL Community Server Installer
      • Run the installer and choose "Developer Default"
      • Set root password when prompted (remember this!)
      • Complete installation
    2. Option B: Using Package Manager

      # Using Chocolatey
      choco install mysql
      
      # OR using winget
      winget install Oracle.MySQL
    3. Start MySQL (if not already running):

      • Open "Services" app (Win + R, type services.msc)
      • Find "MySQL" service and start it

      OR via command line:

      net start MySQL
    4. Create database:

      mysql -u root -p -e "CREATE DATABASE earn_db"

      Enter your root password when prompted.

    5. Set DATABASE_URL in .env:

      DATABASE_URL='mysql://root:YOUR_PASSWORD@localhost:3306/earn_db'
      

      Replace YOUR_PASSWORD with your MySQL root password.

    🐧 Linux

    Ubuntu/Debian:

    # Install MySQL
    sudo apt update
    sudo apt install mysql-server
    
    # Start MySQL service
    sudo systemctl start mysql
    sudo systemctl enable mysql
    
    # Secure installation (optional but recommended)
    sudo mysql_secure_installation
    
    # Create database
    sudo mysql -e "CREATE DATABASE earn_db"
    
    # Create user (optional, for better security)
    sudo mysql -e "CREATE USER 'earnuser'@'localhost' IDENTIFIED BY 'your_password';"
    sudo mysql -e "GRANT ALL PRIVILEGES ON earn_db.* TO 'earnuser'@'localhost';"
    sudo mysql -e "FLUSH PRIVILEGES;"

    Fedora/RHEL/CentOS:

    # Install MySQL
    sudo dnf install mysql-server  # or 'yum' for older versions
    
    # Start MySQL service
    sudo systemctl start mysqld
    sudo systemctl enable mysqld
    
    # Create database
    sudo mysql -e "CREATE DATABASE earn_db"

    Set DATABASE_URL in .env:

    # If using root:
    DATABASE_URL='mysql://root@localhost:3306/earn_db'
    
    # If you created a user:
    DATABASE_URL='mysql://earnuser:your_password@localhost:3306/earn_db'
    

    After setting up MySQL, generate Prisma client:

    npx prisma generate && npx prisma db push

    Option 2: Cloud MySQL Database

    If you prefer not to run MySQL locally, you can use cloud services (all have free tiers):

    Then set DATABASE_URL in .env with the connection string from your cloud provider.

  • privy Privy setup:

    • Create a new privy app, Client Side Web App
    • Add env variables NEXT_PUBLIC_PRIVY_APP_ID and PRIVY_APP_SECRET
    • Update the setting to include server side environment
    • Add env variable PRIVY_VERIFICATION_KEY (hidden under 'Verify with key instead' in Privy App settings)
    • Enable Solana External Wallets and Google social sign in
  • resend Resend setup:

    • To obtain your RESEND_API_KEY, visit the Resend dashboard.
  • cloudinary Cloudinary setup:

    • To obtain your CLOUDINARY_* API keys, visit the Cloudinary dashboard.

❗NOTE: If you are facing any issues with setup, feel free to contact Abhishek or Jayesh

  1. Run the development server
    pnpm dev

⭐Contributing

We welcome contributions from everyone! Whether it's submitting an issue, a pull request, or suggesting new ideas, your input is highly valued. Check out our contributing guide for guidelines on how to proceed.

Facing an issue? Please feel free to reach out to Abhishek, Jayesh or Pratik

Why should you contribute to Earn?

  • Consistent, good-quality contributions will earn you contributor status in the Superteam of your preference! Contributors get special access to channels on Discord, preferential entry to events, and is a great stepping stone to becoming a Superteam member.
  • Get XP if you're already a Superteam Member or Contributor
  • Unwavering love and support from the Superteam Earn team!

Contributors

📊Repo Activity

About

An open source platform connecting crypto founders with elite talent to create bounties, and accelerate project completion

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Contributors 34

Languages