Skip to content

sahkil12/CTG-Blood-Connect-client

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

103 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🩸 CTG Blood Connect

CTG Blood Connect is a web-based blood donor platform designed to help people in Chittagong (CTG) quickly find blood donors based on blood group and area.
The mission is simple: connect donors and seekers to save lives.

🌐 Live Project

πŸ”— https://ctg-blood-connect.web.app/

πŸ“¦ Repositories

πŸš€ Features

πŸ‘₯ User & Donor System

  • Email & Google authentication using Firebase
  • Default role: user
  • Users can register as blood donors
  • Automatic role update from user to user + isDonor

πŸ”Ή NEW

  • Automated email system using Nodemailer
  • Welcome email sent when a user registers
  • Congratulations email sent when a user becomes a donor

🩸 Donor Management

  • Create donor profile with some details and image
  • Update donor information
  • Delete donor profile (role reverts to user)
  • Donor availability status tracking

πŸ” Donor Search

  • Search donors by blood group
  • Filter donors by area (CTG upazilas)
  • Homepage displays top 9 donors
  • Full donors list page with advanced filtering

πŸ§‘β€πŸ’Ό Admin Dashboard

  • Role-based protected admin routes
  • Dashboard statistics:
    • Total users
    • Total donors
    • Available donors
    • View donor availability in real-time
    • Total admins
    • New users & donors (last 7 days)
  • Manage users:
    • Search any users by email
    • Make or remove admin role
    • View user details in modal

πŸ” Security & Access Control

  • JWT-based authentication
  • Role-based authorization (User / isDonor / Admin)
  • Admin-only dashboard access
  • Forbidden (403) page for unauthorized routes

🧩 Pages

  • Home
  • Donors
  • Be a Donor
  • Profile
  • About
  • Admin Dashboard
  • Manage Users
  • Forbidden Page (403)
  • Error 404 page

πŸ–ΌοΈ Screenshots

🏠 Home Page

Home Page

🩸 Donors Listing Page

Donors Listing

🧾 Become a Donor Page

Become a Donor

πŸ‘€ User Profile Page

User Profile

πŸ“Š Admin Dashboard

Admin Dashboard

🚫 Forbidden (403) Page

Forbidden Page

ℹ️ About Page

About Page

✏️ Edit Profile Modal

Edit Profile Modal

πŸ” Login Page

Login Page

πŸ“ Register Page

Register Page

πŸ“± Mobile View

Mobile View

πŸ› οΈ Tech Stack

Frontend

  • React
  • React Router DOM
  • Tailwind CSS
  • DaisyUI
  • Axios
  • TanStack Query
  • Firebase Authentication && deploy
  • React Hook Form
  • Recharts
  • SweetAlert2
  • React Hot Toast
  • dayjs
  • lottie-react
  • react-helmet

Backend

  • Node.js
  • Cors
  • Express.js
  • MongoDB
  • JWT Authentication
  • REST API
  • Role-based access control
  • nodemailer
  • Firebase admin

Hosting & Tools

  • Client Hosting: Firebase
  • Server Hosting: Vercel
  • Database: MongoDB Atlas

🎯 Project Goal

This platform is designed to:

  • Make blood donation faster & easier in Chittagong City
  • Reduce emergency delays
  • Encourage people to become donors
  • Help the Chittagong community

Installation

Clone the repositories

Client

git clone https://github.com/sahkil12/CTG-Blood-Connect-client.git
cd CTG-Blood-Connect-client
npm install

Server

git clone https://github.com/sahkil12/CTG-Blood-Connect-server.git
cd CTG-Blood-Connect-server
npm install

Run project

Client

cd CTG-Blood-Connect-client
npm run dev

Server

cd CTG-Blood-Connect-server
npm run start

πŸ‘¨β€πŸ’» Developer

Mustafa Tazwer Shakil
Web Developer
πŸ“§ Email: [email protected]
🌐 Portfolio: https://mustafa-tazwer.vercel.app/

πŸ“„ License

This project is licensed under the MIT License.

❀️ Made with Love

Crafted with care by Mustafa Tazwer Shakil to support blood donation in Chittagong.

About

CTG Blood Connect is a web-based blood donor platform designed to help people in Chittagong (CTG) quickly find blood donors based on blood group and area.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages