Skip to content

Repository files navigation

MicroJob Pro (Earnify) - Mobile-First Microtask & Investment Platform

React TypeScript Vite Tailwind CSS License: MIT

MicroJob Pro is a modern, responsive, mobile-first microtask, daily rewards, and tiered investment platform. Built with a responsive design philosophy, it features a complete user earning suite and a feature-rich admin control portal with real-time financial moderation, task building, and dynamic branding.


πŸ“‘ Table of Contents


🌟 Key Features

User Application

  1. Dynamic Community Feed (/):

    • Public social posts, announcements, and payment proof showcases.
    • Like, comment, and share capabilities with live counts.
    • Daily Check-In streak widget with instant reward claiming.
    • Promotional giveaway carousel banners.
  2. MicroTask & Quiz Hub (/earnings):

    • Interactive multi-category tasks: Quizzes with countdown timer, App Installations, YouTube video tasks, Surveys, and Link clicks.
    • Automated answer verification and reward settlement into wallet balance.
    • Plan-based daily earning limit enforcement.
  3. Investment Plans (/plan):

    • Tiered membership plans (e.g., Starter, Pro, VIP).
    • Real-time plan purchasing with wallet balance validation.
    • Plan duration and higher daily earning caps.
  4. Digital Wallet & Payment Hub (/wallet, /deposit, /withdraw):

    • Real-time balance and withdrawal history tracking.
    • Deposit: Multi-gateway manual deposit submission with Transaction ID (TrxID), receipt upload, and gateway instructions.
    • Withdraw: Flexible payout method selection, minimum withdrawal thresholds, and pending transaction tracking.
  5. Split Referral Program (/refer):

    • Dedicated referral link generator (?ref=CODE) and single-click clipboard copy.
    • Native Web Share API integration for seamless mobile sharing.
    • Dual-reward mechanism: Distinct Referrer Reward ($) and New User Welcome Bonus ($).
    • Real-time referral earnings counter.
  6. Comprehensive Profile & Photo Customization (/profile):

    • Multi-option Avatar Edit Modal: Upload local files (PNG/JPG/WEBP/GIF), choose from 16+ curated avatars, generate random avatars, or paste direct image links.
    • Inline profile editor for Name, Email, Phone, and Bio.
    • Direct password updates with client-side validation.
  7. User Settings & Security (/settings):

    • Language Selection: English, Bengali (বাংলা), Hindi (ΰ€Ήΰ€Ώΰ€¨ΰ₯ΰ€¦ΰ₯€), Arabic (Ψ§Ω„ΨΉΨ±Ψ¨ΩŠΨ©), and Spanish (EspaΓ±ol).
    • Theme Engine: Seamless Light and Dark mode switching.
    • Two-Factor Authentication (2FA): Authenticator setup secret key, QR mock preview, and 6-digit code activation.
    • Notification Toggles: Push, Email, and Promotional alerts.
    • Help Center (/help): Interactive accordion FAQ, direct WhatsApp/Email support, and onboarding guide.

Admin Management Portal

Access via /admin (Secure login at /admin/login):

  • Executive Analytics Dashboard (/admin): Total user count, active subscriptions, total deposits, total payouts, pending verification queue, and platform revenue.
  • User Moderation (/admin/users): Search, filter by active/banned status, manual balance adjustment, account suspension/reactivation.
  • Split Referral Engine Config (/admin/referrals): Configure custom dollar rewards for referrers vs. new signups, percentage commission on deposits, and tiered task earnings bonus. Includes live distribution preview.
  • Task & Job Creator (/admin/tasks): Dynamic task builder with validation parameters (Timer duration, multiple-choice quiz questions, correct answer selection, custom payout reward).
  • Plan Subscriptions Manager (/admin/plans): Create, edit, and delete investment tiers, adjust price, duration, and daily limits.
  • Financial Moderation Queue (/admin/transactions, /admin/payments/*):
    • Review pending deposit and withdrawal slips with transaction proof inspection.
    • Approve or reject transactions with one click, automatically updating user balances and dispatching system notifications.
    • Payment Gateways Manager: Enable/disable manual payment methods (bKash, Nagad, USDT, PayPal, Bank Transfer).
  • Giveaways & Daily Rewards (/admin/marketing/*): Upload promotional banners, configure daily check-in base amounts, streak multipliers, and max streak limits.
  • Community Post Moderation (/admin/posts): Approve, reject, or delete user-submitted posts.
  • Branding & Site Customization (/admin/branding, /admin/settings): Dynamic site name, logo URL, favicon URL, primary brand color, and official support contacts (Email, Phone, WhatsApp, Telegram, Facebook).

πŸ— System Architecture

                               β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                               β”‚   MicroJob Pro Client App   β”‚
                               β”‚  (React 19 + TypeScript)    β”‚
                               β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                                              β”‚
                    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                    β–Ό                                                   β–Ό
     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”                       β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
     β”‚   User Application Routes  β”‚                       β”‚   Admin Management Portal  β”‚
     β”‚  - Home, Feed, Check-in    β”‚                       β”‚  - Dashboard & Analytics   β”‚
     β”‚  - Tasks, Quizzes, Earning β”‚                       β”‚  - User Moderation         β”‚
     β”‚  - Plans, Wallet, Pay      β”‚                       β”‚  - Task & Plan Builder     β”‚
     β”‚  - Refer, Profile, Settingsβ”‚                       β”‚  - Financial Transaction Txβ”‚
     β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜                       β”‚  - Referral & Branding Cfg β”‚
                    β”‚                                     β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                                              β”‚
                                              β–Ό
                             β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                             β”‚  Reactive Central AppContext    β”‚
                             β”‚  - State Synchronization        β”‚
                             β”‚  - Business Rules Validation    β”‚
                             β”‚  - Notification Dispatcher      β”‚
                             β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                                              β”‚
                                              β–Ό
                             β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                             β”‚  Browser Persistence Layer      β”‚
                             β”‚  (Local Storage + Memory Hydr)  β”‚
                             β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

πŸ’» Technology Stack

Domain Technology Version / Specification
Core Framework React ^19.0.1
Language TypeScript ~5.8.2
Build Tooling Vite ^6.2.3
Routing React Router DOM ^7.18.3
Styling Tailwind CSS ^4.1.14
Icons Lucide React ^0.546.0
Animations Motion (Framer Motion) ^12.23.24
Class Utilities clsx, tailwind-merge Standard
Cloud/Edge Ready Cloudflare Pages Functions /functions/api/health.ts

πŸ“ Project Directory Structure

β”œβ”€β”€ .env.example              # Environment variables template
β”œβ”€β”€ .gitignore                # Git ignore specifications
β”œβ”€β”€ ARCHITECTURE.md           # Deep-dive forensic architectural report
β”œβ”€β”€ ADMIN_GUIDE.md            # Operational manual for administrator portal
β”œβ”€β”€ CONTRIBUTING.md           # Contribution guidelines & code standards
β”œβ”€β”€ SECURITY.md               # Security policy and data safety guidelines
β”œβ”€β”€ LICENSE                   # MIT License
β”œβ”€β”€ index.html                # HTML5 entry point with responsive viewport
β”œβ”€β”€ package.json              # NPM dependencies and build scripts
β”œβ”€β”€ tsconfig.json             # TypeScript configuration
β”œβ”€β”€ vite.config.ts            # Vite & Tailwind CSS configuration
β”œβ”€β”€ wrangler.toml             # Cloudflare deployment manifest
β”‚
β”œβ”€β”€ functions/                # Edge serverless functions
β”‚   └── api/
β”‚       └── health.ts         # Cloudflare Pages health check endpoint
β”‚
β”œβ”€β”€ public/                   # Static assets, icons, manifest
β”‚   β”œβ”€β”€ favicon.ico
β”‚   β”œβ”€β”€ icon-192.png
β”‚   └── manifest.json
β”‚
└── src/
    β”œβ”€β”€ main.tsx              # Application DOM mounting
    β”œβ”€β”€ App.tsx               # Root router and global branding coordinator
    β”œβ”€β”€ index.css             # Tailwind CSS v4 entry point
    β”œβ”€β”€ types.ts              # Unified TypeScript definitions and interfaces
    β”œβ”€β”€ data.ts               # Initial seeded mock data for users and plans
    β”‚
    β”œβ”€β”€ components/           # Shared modular UI components
    β”‚   β”œβ”€β”€ Layout.tsx        # Mobile-first user layout with bottom navigation & drawer
    β”‚   β”œβ”€β”€ AdminLayout.tsx   # Enterprise admin sidebar layout
    β”‚   β”œβ”€β”€ AvatarEditModal.tsx # Multi-option avatar selector and image uploader
    β”‚   β”œβ”€β”€ FaqSection.tsx    # Accordion FAQ component
    β”‚   └── OnboardingTutorial.tsx # Interactive user walkthrough guide
    β”‚
    β”œβ”€β”€ context/
    β”‚   └── AppContext.tsx    # Global reactive state provider & storage synchronization
    β”‚
    β”œβ”€β”€ lib/
    β”‚   └── utils.ts          # Class merging utility (`cn`)
    β”‚
    └── pages/                # Application Page Views
        β”œβ”€β”€ Home.tsx          # Community feed, daily check-in & quick actions
        β”œβ”€β”€ Earnings.tsx      # Interactive task list, quiz solver & rewards
        β”œβ”€β”€ Plan.tsx          # Subscription investment plans
        β”œβ”€β”€ Wallet.tsx        # Balance overview and transaction history
        β”œβ”€β”€ Deposit.tsx       # Manual deposit submission flow
        β”œβ”€β”€ Withdraw.tsx      # Withdrawal request flow
        β”œβ”€β”€ Refer.tsx         # Split referral reward dashboard
        β”œβ”€β”€ Profile.tsx       # Profile details, photo edit & stats
        β”œβ”€β”€ UserSettings.tsx  # Theme, language, 2FA & notification controls
        β”œβ”€β”€ HelpCenter.tsx    # Support hub and FAQ
        β”œβ”€β”€ Notifications.tsx # User notification center
        β”œβ”€β”€ Auth.tsx          # Login & Registration with auto-referral detection
        β”‚
        └── admin/            # Administrator Views
            β”œβ”€β”€ AdminLogin.tsx             # Admin authentication screen
            β”œβ”€β”€ AdminDashboard.tsx         # Financial overview & KPIs
            β”œβ”€β”€ AdminUsers.tsx             # User list and balance editor
            β”œβ”€β”€ AdminReferrals.tsx         # Split referral reward manager
            β”œβ”€β”€ AdminTasks.tsx             # Task & quiz builder
            β”œβ”€β”€ AdminPlans.tsx             # Investment tier manager
            β”œβ”€β”€ AdminTransactions.tsx     # Unified transaction queue
            β”œβ”€β”€ AdminPosts.tsx            # Community post moderation
            β”œβ”€β”€ AdminGiveaway.tsx         # Promotional banner manager
            β”œβ”€β”€ AdminDailyReward.tsx      # Daily check-in streak config
            β”œβ”€β”€ AdminBranding.tsx         # Site name, logo & color themes
            β”œβ”€β”€ AdminSettings.tsx         # General site settings
            β”œβ”€β”€ AdminNotificationSettings.tsx # Notification broadcast system
            └── payment/
                β”œβ”€β”€ AdminGateways.tsx     # Payment methods manager
                β”œβ”€β”€ AdminDeposits.tsx     # Deposit slip verification
                └── AdminWithdraws.tsx    # Withdrawal approval queue

πŸš€ Getting Started

Prerequisites

Installation

  1. Clone the repository:

    git clone https://github.com/your-username/microjob-pro.git
    cd microjob-pro
  2. Install project dependencies:

    npm install

Environment Variables

Copy the .env.example file to .env:

cp .env.example .env
# Optional Gemini AI API Key for generative integrations
GEMINI_API_KEY=""

# Application Host URL
APP_URL="http://localhost:3000"

Running the Development Server

npm run dev

The application will be accessible at http://localhost:3000.

Building for Production

Compile the TypeScript files and generate production static assets:

npm run build

The production bundle will be output to the dist/ directory.


βš™ Core Workflows & Mechanics

1. Task & Quiz Earning System

  • Users access tasks with specified rewards, time limits, and categories.
  • For quizzes, users answer within the timer; correct answers credit the user's balance and log a task_earning transaction.
  • Daily earnings are bounded by the user's active subscription tier limit.

2. Split Referral Reward Engine

  • Admins configure distinct reward values:
    • referrerBonusAmount ($): Awarded to the inviting user upon referee registration.
    • newUserBonusAmount ($): Awarded to the new user immediately upon sign-up with a valid referral link/code.
  • When registering via /auth?ref=CODE, the platform validates the code, registers both transactions, and credits balances automatically.

3. Deposit & Withdrawal Verification

  • Users submit deposits with transaction IDs and proof receipts.
  • Requests appear in the Admin Moderation Queue (/admin/payments/deposits/pending).
  • On approval, the deposit amount is automatically credited to the user's wallet with an instant confirmation notification.

4. Profile Photo & Personalization

  • Users can update their avatar using the modal:
    1. Direct local file upload (with automatic client-side Base64 conversion).
    2. One of 16+ curated avatars.
    3. DiceBear SVG avatar generator with randomized seeds.
    4. External image URL.
  • The avatar updates instantly across all views (navigation header, sidebar drawer, feed posts, and comments).

πŸ“š Available Documentation

  • CLOUDFLARE_D1_R2_GUIDE.md: Complete guide for Cloudflare D1 Database, R2 Object Storage, and Pages Functions deployment.
  • ARCHITECTURE.md: Forensic breakdown of data flow, state management, and schema design.
  • ADMIN_GUIDE.md: Step-by-step administrator operations manual.
  • CONTRIBUTING.md: Guidelines for contributing code and reporting issues.
  • SECURITY.md: Security practices and vulnerability disclosure policy.

🀝 Contributing

Contributions are welcome! Please review CONTRIBUTING.md for details on code formatting, branch naming, and pull request submissions.


πŸ“„ License

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

About

A premium full stack micro job website

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages