👉 https://micro-task-client.onrender.com
- 🔗 Client Side:https://github.com/Fahmida0010/Micro-task-client.git
- 🔗 Server Side: https://github.com/Fahmida0010/Micro-task-server.git
- Email: [tahmid@gmail.com]
- Password:* Tahmid26@#
The Micro Tasking & Earning Platform is a modern web application where users can earn money by completing small tasks. The platform supports three different roles — Worker, Buyer, and Admin — each with powerful and unique functionalities.
Inspired by platforms like Picoworkers and Clickworker, this system ensures smooth task management, secure transactions, and efficient user interaction.
- ✅ Role-Based Authentication System (Worker, Buyer, Admin)
- ✅ JWT Secure Authorization & Protected Routes
- ✅ Workers can complete tasks and earn coins
- ✅ Buyers can create tasks and manage My Task
- ✅ Admin can manage users, tasks, and withdrawals
- ✅ Real-time Notification System for all important actions
- ✅ Coin-based earning and withdrawal system
- ✅ Stripe Integration for purchasing coins
- ✅ Task filtering & sorting (deadline, amount, latest)
- ✅ Image Upload System using imgBB
- ✅ Pagination implemented for better performance
- ✅ Responsive and modern UI design
- ✅ Animated Homepage with slider (Swiper / Carousel)
- ✅ Dashboard with dynamic data based on user role
- ✅ Withdrawal system (20 coins = 1 dollar logic)
- ✅ Task approval/rejection system with instant updates
- View available tasks
- Submit tasks for review
- Earn coins for approved tasks
- Withdraw earnings
- Get notifications for approvals/rejections
- Create and manage tasks
- Review worker submissions
- Approve or reject submissions
- Purchase coins via payment system
- Track payment history
- Manage all users and roles
- Monitor platform statistics
- Approve withdrawal requests
- Delete tasks or users if needed
- Maintain system integrity
- Frontend: React.js, Tailwind CSS
- Backend: Node.js, Express.js
- Database: MongoDB
- Authentication: Firebase + JWT
- Payment: Stripe (or Dummy System)
- Image Hosting: imgBB
- 💰 Buyer buys: 10 coins = $1
- 💸 Worker withdraws: 20 coins = $1
- 🧠 Platform earns profit from the difference
-
Worker gets notified when:
- Task is approved ✅
- Task is rejected ❌
-
Buyer gets notified when:
- Worker submits a task 📩
-
Admin notifies:
- Withdrawal approval 💸
###🎯 Future Improvements (Optional)
- 📧 Email notification system (SendGrid / AWS SES)
- 🔍 Advanced filtering & search system
- 🚨 Report system for invalid submissions
- 📱 Mobile app version
- React & React DOM – Building interactive user interfaces.
- React Router & React Router DOM – Client-side routing and navigation.
- Tailwind CSS & @tailwindcss/vite – Responsive styling and UI design.
- TanStack React Query – Server-state management and data fetching.
- Axios – Making HTTP requests to the backend API.
- Firebase – Authentication and user management.
- Stripe – Payment integration for purchasing coins.
- Framer Motion – Smooth animations and transitions.
- Lucide React & React Icons – Icons for the user interface.
- React Hot Toast & React Toastify – Toast notifications and feedback messages.
- SweetAlert2 – Interactive alerts and confirmation dialogs.
- Swiper – Responsive sliders and carousels.
- Vite – Fast development server and build tool.
- @vitejs/plugin-react – React support for Vite.
- ESLint – Code linting and quality checks.
- @eslint/js – JavaScript linting configurations.
- eslint-plugin-react-hooks – Linting rules for React Hooks.
- eslint-plugin-react-refresh – React Fast Refresh linting support.
- @types/react & @types/react-dom – TypeScript type definitions for React.
- globals – Global variable definitions for ESLint.
-
npm – Dependency and package management.
-
Vite – Development, production builds, and preview server.
Follow these steps to run the MicroTask project on your local machine.
git clone https://github.com/Fahmida0010/Micro-task-client.gitcd Micro-task-clientnpm installCreate a .env.local file in the project root and add the required environment variables.
VITE_API_URL=your_backend_api_url
VITE_IMGBB_KEY=your_imgbb_api_key
VITE_apiKey=your_firebase_api_key
VITE_authDomain=your_firebase_auth_domain
VITE_projectId=your_firebase_project_id
VITE_storageBucket=your_firebase_storage_bucket
VITE_messagingSenderId=your_firebase_messaging_sender_id
VITE_appId=your_firebase_app_idReplace the placeholder values with your actual credentials. Use only the variables required by your project and check your Firebase configuration and API usage in the source code.
npm run devOpen the local URL displayed in your terminal, usually:
http://localhost:5173
npm run buildnpm run previewThe client also requires the backend server to be running for API-dependent features.
git clone https://github.com/Fahmida0010/Micro-task-server.git
cd Micro-task-server
npm installConfigure the backend environment variables according to its .env.example or project configuration, then run the appropriate development command defined in its package.json.
Note: Ensure that the backend API URL and CORS configuration allow requests from your local frontend URL.
This project demonstrates a complete full-stack application with authentication, role-based access, payment integration, and real-world business logic.
✨ Thank you for visiting this project!💙