- Live Site URL: DonateLife
- HTML
- CSS
- Tailwind CSS
- JavaScript
- React.js
- React Router
- Farmer Motion
- TanStack Query
- UserEmail: [email protected]
- Password: 123@as
- Node.js (v14 or higher)
- MongoDB (local or Atlas)
- Stripe account for payment integration
-
Clone the repository
git clone https://github.com/shahadathhs/donatelife-client.git
-
Navigate to the project directory
cd donatelife-client
-
Install dependencies
npm install
-
Create a
.env.local
file in the root directory and add the following environment variables with your own credentials:VITE_APIKEY=your_firebase_api_key VITE_AUTHDOMAIN=your_firebase_auth_domain VITE_PID=your_firebase_project_id VITE_STORAGE=your_firebase_storage_bucket VITE_MESSAGE=your_firebase_messaging_sender_id VITE_APPTD=your_firebase_app_id VITE_API_URL=your_server_api_url VITE_IMAGE_HOSTING_KEY=your_imgbb_api_key VITE_PAYMENT_GATEWAY_PK=your_stripe_public_key
-
Start the development server
npm run dev
- Visit server repository: Server Repository on GitHub
-
User Authentication:
- Email and password login.
- Detailed registration with email, name, avatar, blood group, district, upazila, and password.
-
Dashboards:
- Separate dashboards for Admins, Donors, and Volunteers.
- Responsive layouts and private routes.
-
Profile Management:
- View and update profiles (excluding email).
-
Donor Dashboard:
- Displays welcome message, recent donation requests, and creation form.
-
Admin Dashboard:
- Manages users, donation requests, and content with full CRUD operations.
-
Volunteer Dashboard:
- Restricted permissions for updating donation status and adding blogs.
-
Public Pages:
- Home, search, donation requests, and blog pages.
-
Private Funding Page:
- Displays funds and allows Stripe payments.
-
Pagination and Filtering:
- Enhances navigation and search efficiency.
-
Enhanced Security with JWT:
- Secure authentication and authorization for private APIs.
If you would like to contribute to this project, please follow these steps:
- Fork the repository.
- Create a new branch.
- Make your changes.
- Submit a pull request.
For any inquiries, please reach out to Shahadath Hossen Sajib at [email protected].