Skip to content

The primary goal of this project is to create a comprehensive and user-friendly online platform that promotes blood donation accessibility and encourages active participation

Notifications You must be signed in to change notification settings

masud90895/blut-blood-donation-campain-front-end

Repository files navigation

Blut-Blood-Donation-Campaign

Live Link

Team Name: Champ Coders

Team Members:

Project Goal:

The primary goal of this project is to create a comprehensive and user-friendly online platform that promotes blood donation accessibility and encourages active participation. This project will help to save lives by connecting blood donors with recipients. This project will also help to create awareness about blood donation and its importance.The platform aims to bridge the gap between blood donors and those in need by leveraging technology to streamline the donation process, provide valuable information, and foster a sense of community engagement.

Project Features:

Functional Requirement:

  1. Open

    • Registration
    • Login
    • All Donors
    • Blood group-wise Donors list
  2. User

    • Profile
      • total donation
      • last donation
      • total received
    • Update Profile
    • Request for blood from the user
    • Individual Donor details or contact info
    • Cancel request
    • Accept request

Pages:

  1. Landing page
  2. All Donors page
  3. Blood group wise Donors page
  4. Donors details page
  5. About us
  6. Real-Time Event Promotion
  7. Blog Page
  8. Contact US
  9. Promotion of a Lifelong Commitment to Donation
  10. Donation Center Locations
  11. Notification
  12. Message
  13. Chat-AI-(Optional-if we get time)
  14. Registration
  15. Login
  16. Profile / Dashboard
  17. Update Profile
  18. Change password

API endpoints:

  1. Donors route
    • /donors (get) ⇒ get all donors with pagination and filtering
    • /donors/:group (get) ⇒ get all group-wise donors with pagination and filtering
    • /donors/:userId (get) ⇒ get donor info {protected}
    • /donors/request (patch) ⇒ request for blood
    • /donors/cancel-request (patch) ⇒ cancel request by donor
    • /donors/accept (patch) ⇒ accept request from donor
  1. Notification
    • /notification/:id (GET)
    • /notification/:id (PATCH)
    • /notification/:id (DELETE) => Only Admin
  1. Blog
    • /blog (GET) => Get all Blog
    • /blog/:id (GET) => get single blog
    • /blog/:id (PATCH) => Update Single Blog
    • /blog/:id (DELETE) => Delete Single Blog
  1. Messaging
    • CRUD Operations
  1. Banner
    • /banner (GET) => Get all Banner
    • /banner/:id (DELETE) => Delete Single Banner
  1. Auth route
    • /auth/signup (post)
    • /auth/login (post)
    • /auth/refresh-token(post)
    • /auth/change-password (patch) {protected}
    • /auth/profile (get) ⇒ (for getting own profile information) {protected}
    • /auth/profile (patch) ⇒ (for updating own profile) {protected}
  1. Banner
    • /banners(GET) => Get all Banner
    • /banner/:id (PATCH) => update Banner
    • /banner/:id (DELETE) => Delete Banner

Technology:

Backend:

  • TypeScript
  • NodeJs | ExpressJs
  • MongoDB | Mongoose
  • Zod
  • Jsonwebtoken
  • Bcrypt
  • Cors
  • Cookie-parser
  • Dotenv
  • HTTP-status
  • Ts-node-dev
  • ESLint
  • Prettier
  • Lint-staged
  • Husky

Frontend:

  • TypeScript
  • NextJs
  • Redux | Redux Toolkit
  • Axios
  • React Hook Form । Hook Form Resolvers
  • Yup
  • Ant Design
  • Tailwind
  • Jwt-decode
  • ESLint

About

The primary goal of this project is to create a comprehensive and user-friendly online platform that promotes blood donation accessibility and encourages active participation

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages