{"id":25094322,"url":"https://github.com/maksudulhaque2000/Crowd-Funding","last_synced_at":"2025-10-22T10:30:55.587Z","repository":{"id":275917106,"uuid":"927604715","full_name":"smmaksudulhaque2000/Crowd-Funding","owner":"smmaksudulhaque2000","description":"Crowdcube is an intuitive crowdfunding platform where users can raise funds for personal causes, creative projects, startups, and more. It also allows users to donate and support ongoing campaigns.","archived":false,"fork":false,"pushed_at":"2025-02-05T09:30:17.000Z","size":0,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-05T09:31:39.891Z","etag":null,"topics":["eslint","expressjs","firebase","mongodb","nodemon","reactjs","tailwindcss","vercel","vite"],"latest_commit_sha":null,"homepage":"https://crowd-funding-b2152.web.app/","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/smmaksudulhaque2000.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}},"created_at":"2025-02-05T08:31:47.000Z","updated_at":"2025-02-05T09:30:20.000Z","dependencies_parsed_at":"2025-02-05T09:41:45.373Z","dependency_job_id":null,"html_url":"https://github.com/smmaksudulhaque2000/Crowd-Funding","commit_stats":null,"previous_names":["smmaksudulhaque2000/crowd-funding"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smmaksudulhaque2000%2FCrowd-Funding","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smmaksudulhaque2000%2FCrowd-Funding/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smmaksudulhaque2000%2FCrowd-Funding/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smmaksudulhaque2000%2FCrowd-Funding/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/smmaksudulhaque2000","download_url":"https://codeload.github.com/smmaksudulhaque2000/Crowd-Funding/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":237667175,"owners_count":19347187,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["eslint","expressjs","firebase","mongodb","nodemon","reactjs","tailwindcss","vercel","vite"],"created_at":"2025-02-07T15:17:21.637Z","updated_at":"2025-10-22T10:30:49.974Z","avatar_url":"https://github.com/smmaksudulhaque2000.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"https://i.ibb.co.com/1G2S1PQT/Screenshot-3.png\" height=\"400\" width=\"800\" alt=\"Crowd-Funding\"/\u003e\n\u003c/div\u003e\n\n# 🎯 Crowd Funding - Client-Side\n\nCrowdcube is a dynamic and user-friendly crowdfunding platform that enables users to raise funds for personal causes, creative ideas, startups, and more. It also allows users to contribute to ongoing campaigns by donating and supporting others.\n\n## 🌐 Live Site\n\n🔗 [Crowd Funding Client](https://crowd-funding-b2152.web.app/)\n\n---\n\n## 📖 Table of Contents\n\n- [Key Features](#-key-features)\n- [Technologies Used](#-technologies-used)\n- [Setup Instructions](#-setup-instructions)\n- [Screenshots](#-screenshots)\n- [Contributing](#-contributing)\n- [License](#-license)\n\n---\n\n## 🚀 Key Features\n\n✅ **Fully Responsive Design** – Works seamlessly on mobile, tablet, and desktop devices.  \n✅ **User Authentication** – Secure login and registration with email/password or Google authentication.  \n✅ **Campaign Management** – Create, view, and manage fundraising campaigns.  \n✅ **Donation System** – Users can contribute to campaigns easily.  \n✅ **Dark/Light Theme Toggle** – Enhances the user experience with theme switching.  \n✅ **Toast Alerts** – Real-time success/error notifications.  \n\n### **Navigation Bar**\n- Contains links to Home, All Campaigns, Add New Campaign (protected), My Campaign (protected), My Donations (protected), and Login/Register.\n- Displays user profile picture and name when logged in, with a **Logout** button.\n\n### **Home Page Features**\n- **Banner/Slider** – Highlights top campaigns.\n- **Running Campaigns Section** – Displays ongoing campaigns with a \"See More\" button.\n- **Extra Sections** – Additional content and updates.\n\n### **Campaign Details Page**\n- Displays in-depth information about each campaign.\n- Users can **donate** via the **Donate** button.\n\n### **Protected Routes**\n- **Add New Campaign** – Allows only logged-in users to create campaigns.\n- **My Campaigns** – View and manage campaigns created by the logged-in user.\n- **My Donations** – Track donations made by the user.\n\n---\n\n## 🛠️ Technologies Used\n\n- **Frontend**: React.js, React Router, React Context API, Axios  \n- **State Management**: React Context API  \n- **Authentication**: Firebase Authentication  \n- **UI Components**: React Bootstrap, Lottie React (for animations)  \n- **Styling**: Custom CSS, React Simple Typewriter (for animations)  \n- **Database**: Firebase Firestore, MongoDB (for campaign \u0026 donation data)  \n\n---\n\n## 🔧 Setup Instructions\n\n### **Prerequisites**\n- Node.js (v14 or later)  \n- NPM or Yarn  \n- Firebase Project (for authentication and storage)  \n\n### **1️⃣ Clone the Repository**  \n```bash\ngit clone https://github.com/smmaksudulhaque2000/Crowd-Funding\n```\n\n### **2️⃣ Navigate to the Project Directory**  \n```bash\ncd crowd-cube-client\n```\n\n### **3️⃣ Install Dependencies**  \n```bash\nnpm install\n```\n\n### **4️⃣ Configure Firebase**  \nCreate a `.env` file in the root directory and add the Firebase configuration keys:  \n\n```bash\nREACT_APP_FIREBASE_API_KEY=your-firebase-api-key\nREACT_APP_FIREBASE_AUTH_DOMAIN=your-firebase-auth-domain\nREACT_APP_FIREBASE_PROJECT_ID=your-firebase-project-id\nREACT_APP_FIREBASE_STORAGE_BUCKET=your-firebase-storage-bucket\nREACT_APP_FIREBASE_MESSAGING_SENDER_ID=your-firebase-messaging-sender-id\nREACT_APP_FIREBASE_APP_ID=your-firebase-app-id\n```\n\n### **5️⃣ Start the Development Server**  \n```bash\nnpm start\n```\n\n---\n\n## 🎨 Screenshots\n\n🔹 **Home Page**  \n🔹 **Campaign Details Page**  \n🔹 **Login Page**  \n🔹 **Dark/Light Theme Toggle**  \n\n_(Include images as needed)_\n\n---\n\n## 🤝 Contributing\n\nWant to contribute? Follow these steps:  \n\n1. **Fork** the repository.  \n2. **Create a new branch** (`git checkout -b feature-name`).  \n3. **Commit your changes** (`git commit -am 'Add new feature'`).  \n4. **Push to the branch** (`git push origin feature-name`).  \n5. **Create a pull request**.  \n\n---\n\n## 📜 License\n\nDistributed under the **MIT License**. See `LICENSE` for more details.  \n\n---\n\n# 🛠 Crowd Funding - Server-Side\n\nCrowdcube's server-side is built with **Node.js, Express, and MongoDB**, handling campaign data, user authentication, and donations securely.\n\n## 🌐 Live Site\n\n🔗 [Crowd Funding Server](https://crowd-funding-server-two.vercel.app/)\n\n---\n\n## 🚀 Key Features\n\n✅ **User Authentication** – Firebase Authentication for secure login.  \n✅ **Protected Routes** – Only authenticated users can access certain features.  \n✅ **Campaign Management** – Users can create, update, and delete campaigns.  \n✅ **Donation Handling** – Donations are securely recorded in MongoDB.  \n✅ **Error Handling** – Ensures smooth user experience with clear error messages.  \n✅ **Data Validation** – Prevents invalid data entries in the database.  \n\n---\n\n## 🛠️ Technologies Used\n\n- **Backend**: Node.js, Express.js  \n- **Database**: MongoDB, Mongoose  \n- **Authentication**: Firebase Admin SDK  \n- **Deployment**: Vercel  \n\n---\n\n## 🔧 Setup Instructions\n\n### **1️⃣ Clone the Repository**  \n```bash\ngit clone https://github.com/smmaksudulhaque2000/Crowd-Funding\n```\n\n### **2️⃣ Navigate to the Project Directory**  \n```bash\ncd crowd-cube-server\n```\n\n### **3️⃣ Install Dependencies**  \n```bash\nnpm install\n```\n\n### **4️⃣ Configure Environment Variables**  \nCreate a `.env` file and add:  \n\n```bash\nMONGO_URI=your-mongodb-uri\nFIREBASE_ADMIN_SDK=your-firebase-admin-sdk-credentials\n```\n\n### **5️⃣ Start the Server**  \n```bash\nnpm start\n```\n\n---\n\n## 🌍 API Endpoints\n\n- `POST /auth/register` – Registers a new user.  \n- `POST /auth/login` – Logs in a user.  \n- `GET /campaigns` – Fetches all campaigns.  \n- `GET /campaigns/:id` – Fetches details of a specific campaign.  \n- `POST /campaigns` – Creates a new campaign (requires authentication).  \n- `PUT /campaigns/:id` – Updates a campaign (requires authentication).  \n- `DELETE /campaigns/:id` – Deletes a campaign (requires authentication).  \n- `POST /donate` – Handles donations (requires authentication).  \n\n---\n\n## ❗ Error Handling\n\n🔴 **401 Unauthorized** – User is not logged in.  \n🔴 **404 Not Found** – Campaign or resource does not exist.  \n🔴 **500 Internal Server Error** – Server issues.  \n\n---\n\n## 🤝 Contributing\n\nWant to improve the backend? Follow the same **Contributing** steps as above!  \n\n---\n\n## 📜 License\n\nDistributed under the **MIT License**. See `LICENSE` for details.  \n\n---\n\n🎉 **Happy Coding!** 🚀  ","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaksudulhaque2000%2FCrowd-Funding","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmaksudulhaque2000%2FCrowd-Funding","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaksudulhaque2000%2FCrowd-Funding/lists"}