Skip to content

meherunnesaenta/Micro-task-platform

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

33 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸš€ Micro Task and Earning Platform - TaskEarn

A full-stack micro-task platform where users can earn money by completing small tasks or post tasks to get work done by verified workers.

🌐 Live Site URL

https://microtash.vercel.app

πŸ‘‘ Admin Credentials

  • Email: admin.microtask@gmail.com
  • Password: *******

✨ Key Features

For Workers:

  • βœ… Browse and filter available tasks by category
  • βœ… Submit task completions with detailed proof
  • βœ… Track submission status (pending/approved/rejected)
  • βœ… View earnings in coins (20 coins = $1)
  • βœ… Request withdrawal with minimum 200 coins ($10)
  • βœ… View withdrawal history and status
  • βœ… Complete profile management
  • βœ… Real-time notifications for approvals/rejections

For Buyers:

  • βœ… Create tasks with detailed instructions
  • βœ… Set required workers and payable amount
  • βœ… Upload task images (ImgBB integration)
  • βœ… Review worker submissions
  • βœ… Approve/Reject submissions with coin rewards
  • βœ… Purchase coins via Stripe payment
  • βœ… View payment history and task statistics
  • βœ… Edit/Delete posted tasks

For Admin:

  • βœ… Complete platform overview dashboard
  • βœ… Manage all users (update roles, delete users)
  • βœ… Manage all tasks across platform
  • βœ… Process withdrawal requests (approve/reject)
  • βœ… View platform analytics and reports
  • βœ… Monitor platform growth and revenue

General Features:

  • 🎨 Modern responsive design with Dark/Light theme
  • πŸ” Secure JWT authentication
  • πŸ“± Mobile-friendly responsive layout
  • πŸ”” Real-time notification system
  • πŸ“Š Interactive dashboard with statistics
  • πŸ’³ Stripe payment integration
  • πŸ–ΌοΈ Image upload with ImgBB
  • πŸ“„ Pagination on all lists
  • 🎭 Role-based access control (Worker/Buyer/Admin)

πŸ—οΈ Project Structure

client/
β”œβ”€β”€ index.html                   # Main HTML entry
β”œβ”€β”€ package.json                 # Dependencies & scripts
β”œβ”€β”€ vite.config.js               # Vite config
β”œβ”€β”€ tailwind.config.js           # Tailwind config
β”œβ”€β”€ .env                         # Environment variables
β”œβ”€β”€ public/                      # Static assets
β”‚   β”œβ”€β”€ favicon.svg
β”‚   └── icons.svg
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ App.jsx                  # Main app component
β”‚   β”œβ”€β”€ main.jsx                 # Entry point
β”‚   β”œβ”€β”€ index.css                # Global styles
β”‚   β”œβ”€β”€ App.css                  # App styles
β”‚   β”œβ”€β”€ context/                 # React Context
β”‚   β”‚   └── AuthContext.jsx
β”‚   β”œβ”€β”€ hooks/                   # Custom hooks
β”‚   β”‚   └── useRefreshUser.js
β”‚   β”œβ”€β”€ utils/                   # Utilities
β”‚   β”‚   β”œβ”€β”€ api.js
β”‚   β”‚   └── endpoints.js
β”œβ”€β”€ components/              # Reusable components
β”‚   β”‚   β”œβ”€β”€ shared/              # Navbar, Footer, Logo, NotificationBell, ProtectedRoute
β”‚   β”‚   β”œβ”€β”€ dashboard/           # DashboardLayout
β”‚   β”‚   └── Home/                # HeroSlider, Banner, Features, TopWorker, PostedTasks
β”‚   └── assets/                  # Images (hero.png, react.svg, vite.svg)
β”‚       └── hero.png
β”‚   └── pages/                   # Page components
β”‚       β”œβ”€β”€ Home.jsx
β”‚       β”œβ”€β”€ NotFound.jsx
β”‚       β”œβ”€β”€ auth/
β”‚       β”‚   β”œβ”€β”€ Login.jsx
β”‚       β”‚   └── Register.jsx
β”‚       └── dashboard/
β”‚           β”œβ”€β”€ admin/
β”‚           β”‚   β”œβ”€β”€ AdminHome.jsx
β”‚           β”‚   β”œβ”€β”€ AdminProfile.jsx
β”‚           β”‚   β”œβ”€β”€ ManageTasks.jsx
β”‚           β”‚   β”œβ”€β”€ ManageUsers.jsx
β”‚           β”‚   β”œβ”€β”€ ManageWithdrawals.jsx
β”‚           β”‚   └── Reports.jsx
β”‚           β”œβ”€β”€ buyer/
β”‚           β”‚   β”œβ”€β”€ BuyerHome.jsx
β”‚           β”‚   β”œβ”€β”€ BuyerAddTask.jsx
β”‚           β”‚   β”œβ”€β”€ BuyerMyTasks.jsx
β”‚           β”‚   β”œβ”€β”€ BuyerReviewSubmissions.jsx
β”‚           β”‚   β”œβ”€β”€ BuyerPurchaseCoin.jsx
β”‚           β”‚   β”œβ”€β”€ BuyerPaymentHistory.jsx
β”‚           β”‚   β”œβ”€β”€ BuyerProfile.jsx
β”‚           β”‚   └── BuyerTaskDetails.jsx
β”‚           └── worker/
β”‚               β”œβ”€β”€ WorkerHome.jsx
β”‚               β”œβ”€β”€ WorkerTaskList.jsx
β”‚               β”œβ”€β”€ WorkerTaskDetails.jsx
β”‚               β”œβ”€β”€ WorkerSubmissions.jsx
β”‚               β”œβ”€β”€ WorkerSubmissionDetails.jsx
β”‚               β”œβ”€β”€ WorkerWithdrawals.jsx
β”‚               └── WorkerProfile.jsx
└── styles/                      # CSS files
    └── home.css

Frontend:

  • React 18 with Vite
  • Tailwind CSS + DaisyUI
  • React Router DOM v6
  • React Hook Form
  • Axios
  • Lucide React Icons
  • Swiper.js (Carousel)
  • React Toastify
  • Stripe.js

Backend:

  • Node.js with Express
  • MongoDB with Mongoose
  • JWT Authentication
  • Bcrypt for password hashing
  • Stripe API
  • ImgBB API

Deployment:

  • Frontend: Vercel
  • Backend: Render / Cyclic
  • Database: MongoDB Atlas

πŸ“¦ Installation Guide

Prerequisites:

  • Node.js (v18+)
  • npm/yarn

Quick Start:

git clone https://github.com/meherunnesaenta/Micro-task-platform.git
cd client

npm install

cp .env.example .env

.env Configuration (Demo):

VITE_API_URL=http://localhost:5000/api
VITE_STRIPE_PUBLIC_KEY=pk_test_...
VITE_IMGBB_API_KEY=abc123...

Note: Replace with your actual keys

Run Development Server:

npm run dev

Build for Production:

npm run build
npm run preview

Backend API: https://github.com/meherunnesaenta/Micro-task-platform-server

πŸ“‹ API Endpoints

Method Endpoint Description
POST /api/auth/register Register
POST /api/auth/login Login
GET /api/tasks Get tasks
POST /api/tasks Create task
PUT /api/submissions/:id/approve Approve submission

πŸ”‘ Test Credentials

Worker:

  • ali.reza.work@gmail.com / Worker@123

Buyer:

  • techstart.buyer@gmail.com / Buyer@123

Admin:

  • admin.microtask@gmail.com / *****

πŸ“‚ Repository Links

πŸ“„ License

MIT License

About

A comprehensive micro-tasking platform where workers earn money by completing small tasks and buyers outsource tasks to a global workforce.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors