Welcome to the MicroTask Project! This project is a micro-task management system with different user roles and functionalities, allowing task creation, task completion, and financial transactions for task rewards. The live version of the project can be found here.
-
Admin Email: tazim@gmail.com
-
Admin Password: Aaaaaa
MicroTask is a web application that allows users to create, complete, and manage tasks. The platform supports three types of users: Admin, Task Creator, and Worker. Each user type has specific functionalities designed to streamline the task management and reward system.
- Authentication: Users can sign up using email/password or Google through Firebase Authentication.
- JWT Token: Secure authentication using JSON Web Tokens (JWT).
- Responsive Design: User-friendly interface that works on various devices.
- Monitor and control all activities on the platform.
- Manage user roles (promote, demote, or remove users).
- Remove tasks from the system.
- Approve or reject withdrawal requests from workers.
- Add new tasks to the platform (requires coins).
- Review task submissions by workers.
- Accept or decline task submissions.
- Update and delete tasks.
- Purchase coins using a Stripe-based payment system.
- Browse available tasks and submit completed tasks.
- Earn money by completing tasks.
- Withdraw earned money using Bkash, Nagad, or Rocket.
- Frontend: React, React Hooks, React Icons, SweetAlert, React Form
- Backend: Express, Node.js
- Database: MongoDB
- Authentication: Firebase Authentication
- Payments: Stripe
- Hosting: Firebase Hosting
To run the project locally, follow these steps:
-
Clone the repository:
git clone https://github.com/tazim5032/microtask.git cd microtask
-
Install dependencies:
npm install
-
Setup environment variables:
- Create a
.env
file in the root directory and add necessary environment variables (e.g., Firebase configuration, Stripe keys, MongoDB URI).
- Create a
-
Run the development server:
npm start
-
Open your browser and navigate to
http://localhost:3000
.
- Sign Up: Create a new account using email/password or Google authentication.
- Role Assignment: The admin assigns roles to users (Admin, Task Creator, or Worker).
- Task Management: Task Creators can add tasks, and Workers can complete tasks.
- Financial Transactions: Task Creators buy coins using Stripe, and Workers withdraw earnings using Bkash, Nagad, or Rocket.
We welcome contributions! Please follow these steps to contribute:
- Fork the repository.
- Create a new branch for your feature or bugfix:
git checkout -b feature-name
- Commit your changes:
git commit -m "Add some feature"
- Push to the branch:
git push origin feature-name
- Create a new Pull Request.
This project is licensed under the MIT License. See the LICENSE file for more details.
Feel free to reach out if you have any questions or need further assistance. Thank you for using MicroTask!