Skip to content
/ NexAd Public

A crypto-powered CPA and watch-to-earn platform where users earn Pepe tokens 🐸 by watching ads πŸŽ₯ and completing surveys πŸ“. Advertisers pay with Pepe tokens to host ads. Built with React, Node.js, and PepeCLI Wallet integration.

Notifications You must be signed in to change notification settings

0xDoms/NexAd

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

9 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸš€ NexAd

NexAd Hero Image

πŸ“– Project Overview

NexAd is a CPA (Cost-Per-Action) and watch-to-earn platform where users can earn Pepe tokens 🐸 by watching advertisements πŸ“Ί and completing surveys πŸ“. Users can also claim free Pepe tokens via an on-site faucet πŸ’§. Advertisers can host their ads by paying in Pepe tokens, which are then distributed as rewards 🎁.

This project is a complete example of integrating crypto payments πŸ’Έ with web advertising services. Whether you're aiming to build a crypto-driven advertising platform or explore web development with blockchain integration, NexAd provides a solid foundation πŸ› οΈ.


🌟 Features

  • Watch-to-Earn: Users earn Pepe tokens 🐸 by watching ads πŸŽ₯ or completing surveys πŸ“.
  • Crypto Faucet: Claim free Pepe tokens πŸ’° through a built-in faucet πŸ’§.
  • Advert Hosting: Advertisers can create ads, set budgets, and pay in Pepe tokens πŸ”₯.
  • User Authentication: Secure login πŸ”, sign-up πŸ“, and email verification πŸ“§.
  • PepeCLI Wallet Integration: Full integration for crypto transactions using Pepe tokens πŸ’³.

πŸ› οΈ Tech Stack

NexAd is built using the following technologies:

Technology Description Icon
Frontend React + Tailwind CSS for responsive UI development. React Tailwind CSS
Backend Node.js for server-side logic and APIs. Node.js
Wallet Integration PepeCLI Wallet for handling cryptocurrency transactions. Pepe
Email Handling MailTrap for development email testing. MailTrap

πŸ“Έ Screenshots

πŸ–₯️ Dashboard

NexAd Dashboard

πŸ“Š Advertisements

NexAd Advertisements

πŸ’§ Faucet

NexAd Faucet

πŸ’Ό Advertiser Interface

Create Advertisement


βš™οΈ Installation

Backend & Frontend Setup

  1. Navigate to the backend directory:

    cd backend
  2. Create a .env file in the backend directory. Your .env file should look like this:

    MONGO_URI=mongodb+srv://<username>:<password>@<cluster>.mongodb.net/<db_name>?retryWrites=true&w=majority&appName=<app_name>
    PORT=5000
    JWT_SECRET=yourJWTSecretKey
    NODE_ENV=production
    MAILTRAP_TOKEN=yourMailTrapToken
    CAPTCHA_SECRET=yourHCaptchaSecret
    CLIENT_URL=http://localhost:5173
  3. Run the build script πŸ› οΈ:

    npm run build
  4. To run the backend and serve the frontend in production mode πŸš€:

    npm run start
  5. For development mode (backend only) πŸ‘¨β€πŸ’», run:

    npm run dev

Frontend Development Setup

  1. Navigate to the frontend directory:

    cd frontend
  2. Install the frontend dependencies πŸ“¦:

    npm install
  3. Run the frontend in development mode 🌐:

    npm run dev

πŸ›‘οΈ API Endpoints

πŸ’Έ Crypto Endpoints

  • Faucet Claim:

    • POST /api/crypto/faucet
    • Request Body:
      {
        wallet: "wallet_address",
        token: "hCaptcha_token"
      }
  • Faucet Dashboard:

    • POST /api/crypto/faucet-dashboard
    • Request Body:
      {
        wallet: "wallet_address"
      }

πŸ“’ Advertisement Endpoints

  • Create an Advertisement:
    • POST /api/crypto/create-advert
    • Request Body:
      {
        name: "ad_name",
        description: "ad_description",
        url: "ad_image_url",
        payout: "pepe_per_view",
        viewers: "desired_viewer_count",
        duration: "ad_duration"
      }

πŸ” Authentication Endpoints

  • Check Authentication Status:

    • GET /api/auth/check-auth
  • Sign Up:

    • POST /api/auth/signup
    • Request Body:
      {
        email: "user_email",
        password: "user_password",
        name: "user_name"
      }
  • Log In:

    • POST /api/auth/login
    • Request Body:
      {
        email: "user_email",
        password: "user_password"
      }
  • Log Out:

    • POST /api/auth/logout
  • Email Verification:

    • POST /api/auth/verify-email
    • Request Body:
      { code: "verification_code" }
  • Forgot Password:

    • POST /api/auth/forgot-password
    • Request Body:
      { email: "user_email" }
  • Reset Password:

    • POST /api/auth/reset-password/:token
    • Request Parameters:
      { token: "reset_token" }
    • Request Body:
      { password: "new_password" }

πŸ“¬ Contact

For any questions or issues, feel free to open an issue on GitHub πŸ™ or contact the project maintainers πŸ‘¨β€πŸ’».


πŸŽ‰ Happy Earnings with NexAd! πŸ€‘

About

A crypto-powered CPA and watch-to-earn platform where users earn Pepe tokens 🐸 by watching ads πŸŽ₯ and completing surveys πŸ“. Advertisers pay with Pepe tokens to host ads. Built with React, Node.js, and PepeCLI Wallet integration.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages