Skip to content

Repository files navigation

Crowd Cube

Crowd Cube is a user-friendly donation platform that enables users to create, manage, and contribute to fundraising campaigns. With an intuitive interface, secure authentication, and a robust set of features, Crowd Cube makes fundraising accessible for everyone. view

Table of Contents

Features

  • Home Page: Displays a banner, active campaigns, an about section, and team details.
  • All Campaigns Page: Lists all available campaigns, allowing logged-in users to contribute.
  • Campaign Creation: Verified users can create new fundraising campaigns.
  • Donation Tracking: Users can view their contributions on the My Donations page.
  • Campaign Management: Users can track their own campaigns via the My Campaigns page.
  • Secure Authentication: Supports login via email/password and Google authentication using Firebase.
  • Interactive UI: Built with React, TailwindCSS, and DaisyUI for a modern and smooth user experience.

🎨 Tech Stack

Frontend

html5 logo css3 logo tailwindcss logo javascript logo react logo

Backend

nodejs logo express logo

Database

mongodb logo

Authentication

firebase logo

Installation

To set up the project locally:

  1. Clone the repository:

    git clone https://github.com/Najmul-Shaon/crowdcube-client.git
    cd crowdcube-client
  2. Install dependencies:

    npm install
  3. Start the development server:

    npm run dev

Configuration

Crowd Cube uses Firebase for authentication and storage. Create a .env.local file in the project root and add the following environment variables:

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_ID

Usage

  • View campaigns: Browse all active campaigns and select one to donate.
  • Contribute: Logged-in users can make donations.
  • Create campaigns: Verified users can start their own fundraising campaigns.
  • Manage donations: Users can track their contributions on the My Donations page.
  • Manage campaigns: Campaign creators can monitor their fundraising progress on My Campaigns.

Dependencies

Main Dependencies

Package Version
animate.css ^4.1.1
aos ^2.3.4
firebase ^11.2.0
localforage ^1.10.0
match-sorter ^8.0.0
react ^18.3.1
react-awesome-slider ^4.1.0
react-dom ^18.3.1
react-hot-toast ^2.4.1
react-icons ^5.4.0
react-router-dom ^7.0.2
react-simple-typewriter ^5.0.1
react-tooltip ^5.28.0
sort-by ^1.2.0
sweetalert2 ^11.14.5

Development Dependencies

Package Version
@eslint/js ^9.15.0
@types/react ^18.3.12
@types/react-dom ^18.3.1
@vitejs/plugin-react ^4.3.4
autoprefixer ^10.4.20
daisyui ^4.12.14
eslint ^9.15.0
eslint-plugin-react ^7.37.2
eslint-plugin-react-hooks ^5.0.0
eslint-plugin-react-refresh ^0.4.14
globals ^15.12.0
postcss ^8.4.49
tailwindcss ^3.4.15
vite ^6.0.1

License

This project is licensed under the MIT License.

About

Crowd Cube is a user-friendly donation platform that enables users to create, manage, and contribute to fundraising campaigns. With an intuitive interface, secure authentication, and a robust set of features, Crowd Cube makes fundraising accessible for everyone.

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages