https://github.com/pritom-roy/brightfund-client
BrightFund is a crowdfunding platform that connects individuals with contributors who want to support meaningful projects, ideas, and causes. Whether itβs a personal need, a creative endeavor, or a startup, BrightFund provides an intuitive and efficient platform for fundraising.
https://github.com/pritom-roy/brightfund-client
express-js firebase html-css-javascipt mondodb node-js
Last synced: 4 months ago
JSON representation
BrightFund is a crowdfunding platform that connects individuals with contributors who want to support meaningful projects, ideas, and causes. Whether itβs a personal need, a creative endeavor, or a startup, BrightFund provides an intuitive and efficient platform for fundraising.
- Host: GitHub
- URL: https://github.com/pritom-roy/brightfund-client
- Owner: pritom-roy
- Created: 2025-01-05T07:17:21.000Z (6 months ago)
- Default Branch: main
- Last Pushed: 2025-02-05T11:53:42.000Z (5 months ago)
- Last Synced: 2025-02-05T12:39:53.204Z (5 months ago)
- Topics: express-js, firebase, html-css-javascipt, mondodb, node-js
- Language: JavaScript
- Homepage: https://brightfund.netlify.app
- Size: 725 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# BrightFund
[π Live Site](https://brightfund.netlify.app/)
BrightFund is a modern crowdfunding platform that connects individuals with contributors who want to support meaningful projects, ideas, and causes. Whether itβs a personal need, a creative endeavor, or a startup, BrightFund provides an intuitive and efficient platform for fundraising.
---
## π Technologies Used
- **Frontend:** React.js, Tailwind CSS
- **Backend:** Node.js, Express.js, MongoDB
- **Authentication:** Firebase Authentication
- **State Management & Utilities:** Context API, React Hooks
- **UI Enhancements:** SweetAlert2, React Icons
- **Build & Deployment:** Netlify (Frontend), Vercel (Backend)---
## π₯ Features
### π₯οΈ Fully Responsive Design
- Optimized for mobile, tablet, and desktop views, ensuring a seamless user experience.### π³ Secure User Authentication
- Email/password login with Google Sign-in integration.
- Persistent login across sessions.### π° Dynamic Campaign Management
- Add new campaigns with fields like title, description, minimum donation, and deadline.
- Update existing campaigns via a modal or dedicated page.
- Delete campaigns with confirmation prompts.### π― Running Campaigns Section
- Displays ongoing campaigns dynamically fetched from the database.
- Includes a "See More" feature for detailed campaign information.### πΈ Donation Management
- Donate directly from the campaign details page.
- View personal donations in a private "My Donations" section.### π Theme Toggle
- Support for light and dark themes for a personalized viewing experience.### π Sorting and Filtering
- Sort campaigns by minimum donation amount.---
## π Pages & Routes
### π Public Routes:
- **Home Page:** Features a banner, running campaigns, and additional informative sections.
- **All Campaigns:** Displays a table of all campaigns with sorting functionality.
- **404 Page:** Redirects users when navigating to invalid routes.### π Private/Protected Routes:
- **Add New Campaign:** Allows authenticated users to create new campaigns.
- **My Campaigns:** Displays campaigns added by the logged-in user with update and delete functionality.
- **Update Campaign:** Update existing campaigns via a modal or separate page.
- **My Donations:** Displays campaigns donated to by the user.---
## π How to Run the Project Locally
### 1οΈβ£ Prerequisites
Ensure you have the following installed:
- **Node.js** (latest LTS recommended)
- **NPM or Yarn**
- **Git** (optional but recommended)### 2οΈβ£ Clone the Repository
```sh
git clone https://github.com/yourusername/brightfund.git
cd brightfund
```### 3οΈβ£ Install Dependencies
```sh
npm install
# or
yarn install
```### 4οΈβ£ Start the Development Server
```sh
npm run dev
# or
yarn dev
```
The application should now be running on `http://localhost:5173/`.### 5οΈβ£ Build for Production
```sh
npm run build
# or
yarn build
```---
## π Environment Variables
Before running the project, create a `.env` file in the root directory and add the following variables:
```env
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
```