{"id":25020545,"url":"https://github.com/walid-official/earn-money","last_synced_at":"2026-04-02T03:08:13.342Z","repository":{"id":274511038,"uuid":"922880579","full_name":"walid-official/earn-money","owner":"walid-official","description":"This MERN-based project provides a seamless experience for users to perform, create, and manage micro-tasks while earning and managing coins. The platform supports three distinct user roles: Worker, Buyer, and Admin, each with tailored functionalities for an engaging ","archived":false,"fork":false,"pushed_at":"2025-07-08T06:03:35.000Z","size":3190,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-01-03T14:29:58.202Z","etag":null,"topics":["expressjs","firebase","jwt","mongodb","motion","nodejs","reactjs"],"latest_commit_sha":null,"homepage":"https://earnify-life210.surge.sh/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/walid-official.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-01-27T08:57:01.000Z","updated_at":"2025-07-08T06:03:39.000Z","dependencies_parsed_at":"2025-02-21T10:29:29.300Z","dependency_job_id":"ec035bea-9d9a-4b0d-926d-91db951fd38c","html_url":"https://github.com/walid-official/earn-money","commit_stats":null,"previous_names":["walid-official/earn-money"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/walid-official/earn-money","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/walid-official%2Fearn-money","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/walid-official%2Fearn-money/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/walid-official%2Fearn-money/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/walid-official%2Fearn-money/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/walid-official","download_url":"https://codeload.github.com/walid-official/earn-money/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/walid-official%2Fearn-money/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31294854,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-02T01:43:37.129Z","status":"online","status_checked_at":"2026-04-02T02:00:08.535Z","response_time":89,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["expressjs","firebase","jwt","mongodb","motion","nodejs","reactjs"],"created_at":"2025-02-05T12:16:14.686Z","updated_at":"2026-04-02T03:08:12.886Z","avatar_url":"https://github.com/walid-official.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n# Project Name :\n\n## Earnify - Micro-Task and Earning Platform\n\nWelcome to the Micro-Task and Earning Platform! This MERN-based project provides a seamless experience for users to perform, create, and manage micro-tasks while earning and managing coins. The platform supports three distinct user roles: Worker, Buyer, and Admin, each with tailored functionalities for an engaging and efficient tasking ecosystem.\n\n##\n\n\u003cimg src=\"https://raw.githubusercontent.com/walid-official/earn-money/main/Screenshot%202025-02-01%20124705.png\" alt=\"Earnify Screenshot\" height=\"400\"\u003e\n\n# Admin Username and Password :\n\n    UserName : walid.official90@gmail.com\n\n    Password: WalidOfficial90\n\n#  🌟  Live Site URL\n     https://earn-money-742d2.web.app\n  \n\n# 🚀 Features:\n\n## 1. Three User Roles:\n\n* Worker: Completes tasks, earns rewards, and withdraws earnings.\n\n* Buyer: Creates tasks, reviews submissions, and purchases coins for task management.\n\n* Admin: Oversees platform operations, user management, and handles reported issues.\n\n## 2. Authentication System:\n\n* Secure registration with role selection (Worker/Buyer).\n\n* Login using email/password or Google Sign-In.\n* Access tokens stored securely in local storage for session persistence.\n## 3. Dynamic Homepage:\n\n* Hero section with an animated slider or background video.\n* \"Best Workers\" section showcasing top contributors by earnings.\n* Testimonial slider for user feedback.\n* Additional three creative sections for enhanced user engagement.\n## 4. Responsive Design:\n\n* Fully responsive for mobile, tablet, and desktop views, including the dashboard.\n## 5. Worker Dashboard:\n\n* View total submissions, pending tasks, and total earnings.\n* Access approved submissions and available tasks in a card format.\n* Task detail view with a submission form to complete tasks.\n## 6. Buyer Dashboard:\n\n* Overview of task count, pending tasks, and payment history.\n* Task management with update, delete, and review capabilities.\n* Purchase coins using a Stripe-based payment system.\n## 7. Admin Dashboard:\n\n* Manage users and their roles.\n* Address reports and ensure platform integrity.\n## 8. Secure Data Handling:\n\n* Environment variables used to hide sensitive Firebase and MongoDB credentials.\n* Validations for secure user input during registration and login.\n## Payment\n* Stripe integration for purchasing coins.\n* Dummy payment system as fallback.\n## 10. Notifications and Real-Time Updates:\n\n* Workers receive notifications about task updates and payments.\n* Buyers get alerts for task submissions and approvals/rejections.\n\n## Dependencies\n\nThis project requires the following dependencies:\n\n| Package                         | Version  | Description |\n|---------------------------------|----------|-------------|\n| `@headlessui/react`            | ^2.2.0   | UI components for headless design |\n| `@smastrom/react-rating`       | ^1.5.0   | Star rating component for React  |\n| `@stripe/react-stripe-js`      | ^3.1.1   | React bindings for Stripe.js     |\n| `@stripe/stripe-js`            | ^5.5.0   | Official Stripe.js library       |\n| `@tanstack/react-query`        | ^5.64.1  | Data-fetching and state management |\n| `apexcharts`                   | ^4.3.0   | JavaScript charting library      |\n| `axios`                        | ^1.7.9   | Promise-based HTTP client        |\n| `firebase`                     | ^11.1.0  | Firebase SDK for web apps        |\n| `localforage`                  | ^1.10.0  | Offline storage library          |\n| `match-sorter`                 | ^8.0.0   | String sorting and filtering     |\n| `motion`                       | ^11.18.0 | Animation library for React      |\n| `react`                        | ^18.3.1  | JavaScript library for building UI |\n| `react-apexcharts`             | ^1.7.0   | React wrapper for ApexCharts     |\n| `react-countup`                | ^6.5.3   | Animated number counter          |\n| `react-datepicker`             | ^7.6.0   | Date picker component            |\n| `react-dom`                    | ^18.3.1  | React library for DOM rendering  |\n| `react-hook-form`              | ^7.54.2  | Form management library          |\n| `react-hot-toast`              | ^2.5.1   | Notifications for React          |\n| `react-icons`                  | ^5.4.0   | Icons library for React          |\n| `react-router-dom`             | ^7.1.1   | Routing library for React apps   |\n| `react-scroll-trigger`         | ^0.6.14  | Detect scroll events in React    |\n| `recharts`                     | ^2.15.0  | Charting library for React       |\n| `sort-by`                      | ^1.2.0   | Utility for sorting arrays       |\n| `swiper`                       | ^11.2.1  | Modern touch slider library      |\n\nTo install all dependencies, run:\n\n\nnpm install\n\n\nHere’s the **full setup guide** that you can **copy and paste** into your `README.md` file:  \n\n\n# 🛠️ Run the Project Locally  \n\nFollow the steps below to set up and run the **Earnify - Micro-Task and Earning Platform** on your local machine.  \n\n---\n\n## **📌 Prerequisites**  \nEnsure you have the following installed before proceeding:  \n\n- **Node.js** (Latest LTS version recommended) → [Download here](https://nodejs.org/)  \n- **MongoDB** (If using a local database) → [Download here](https://www.mongodb.com/try/download/community)  \n- **Git** (For cloning the repository) → [Download here](https://git-scm.com/downloads)  \n- **Firebase Account** (For authentication \u0026 database, if required)  \n- **Stripe Account** (For payment functionality)  \n\n---\n\n## **🚀 Steps to Run Locally**  \n\n### **1️⃣ Clone the Repository**  \nOpen your terminal and run:  \n\n```sh\ngit clone https://github.com/walid-official/earn-money.git\ncd earn-money\n```\n\n---\n\n### **2️⃣ Install Dependencies**  \nRun the following command to install all required packages:  \n\n```sh\nnpm install\n```\n\nIf using **Yarn**, run:  \n\n```sh\nyarn install\n```\n\n---\n\n### **3️⃣ Configure Environment Variables**  \nCreate a **`.env`** file in the root of the project and add the required credentials:  \n\n```sh\n# Firebase Config\nVITE_FIREBASE_API_KEY=your_firebase_api_key\nVITE_FIREBASE_AUTH_DOMAIN=your_firebase_auth_domain\nVITE_FIREBASE_PROJECT_ID=your_firebase_project_id\nVITE_FIREBASE_STORAGE_BUCKET=your_firebase_storage_bucket\nVITE_FIREBASE_MESSAGING_SENDER_ID=your_firebase_messaging_sender_id\nVITE_FIREBASE_APP_ID=your_firebase_app_id\n\n# Stripe Config\nVITE_STRIPE_PUBLIC_KEY=your_stripe_public_key\n\n# Backend API URL\nVITE_BACKEND_URL=http://localhost:5000\n```\n\n\u003e **Note:** Replace `your_firebase_api_key`, `your_stripe_public_key`, etc., with actual values from your Firebase and Stripe dashboard.\n\n---\n\n### **4️⃣ Start the Development Server**  \nOnce dependencies are installed and environment variables are set, start the app:  \n\n```sh\nnpm run dev\n```\n\n\u003e The app should now be running on **http://localhost:5173/** (or as specified in your terminal).  \n\n---\n\n### **5️⃣ (Optional) Running the Backend Server**  \nIf the project includes a backend (Node.js/Express/MongoDB), follow these steps:  \n\n1. **Navigate to the backend directory** (if separate):  \n\n   ```sh\n   cd backend\n   ```\n\n2. **Install backend dependencies:**  \n\n   ```sh\n   npm install\n   ```\n\n3. **Start the backend server:**  \n\n   ```sh\n   npm start\n   ```\n\n4. **Ensure MongoDB is running**  \n   - If using a local database, run:  \n     ```sh\n     mongod\n     ```\n   - If using **MongoDB Atlas**, set up the connection in your `.env` file:\n\n     ```sh\n     MONGO_URI=your_mongodb_connection_string\n     ```\n\n---\n\n## **🎯 Access the App**\nOnce everything is up and running, open your browser and visit:  \n\n👉 **Frontend:** [`http://localhost:5173`](http://localhost:5173)  \n👉 **Backend (API, if applicable):** [`http://localhost:5000`](http://localhost:5000)  \n\n---\n\n### **✅ Admin Login Credentials**\nUse the following credentials to log in as an admin:  \n\n- **Username:** `walid.official90@gmail.com`  \n- **Password:** `WalidOfficial90`  \n\n---\n\n## **🔥 Troubleshooting**\nIf you face issues:  \n- **Check logs for errors** using `npm run dev` or `npm start`  \n- **Ensure all environment variables are set correctly**  \n- **Verify MongoDB is running** (`mongod`)  \n- **Restart the server** if necessary  \n\n---\n\n### **🎉 You're now ready to use Earnify locally!** 🚀  \n```\n\nThis guide provides **step-by-step** instructions with **clear formatting** so users can easily follow along. Let me know if you need any modifications! 😊\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwalid-official%2Fearn-money","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwalid-official%2Fearn-money","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwalid-official%2Fearn-money/lists"}