Skip to content

About Blood Aid is a user-friendly platform designed to connect blood donors with recipients in need. It streamlines the donation process while promoting a safe and efficient blood donation network.

Notifications You must be signed in to change notification settings

alifa-ara-heya/blood-aid-server

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Blood Aid Server

Purpose

The backend of Blood Aid serves as the backbone of the platform, enabling seamless communication between donors and recipients. It provides robust authentication, role-based access control, and efficient management of donation requests, users, and content through RESTful APIs.


Key Features

  1. User Role Management:
    • Admin:
      • Manages users, donation requests, blogs, and funding data.
    • Volunteer:
      • Handles donation requests and updates their status.
    • Donor:
      • Creates and responds to donation requests and manages their profile.
  2. Donation Requests:
    • Enables users to create, update, delete, and view donation requests.
    • Supports pagination and filtering for better data management.
  3. Funding Management:
    • Secure integration with Stripe to allow donations.
    • Tracks total funds raised and logs each funding transaction.
  4. Content Management:
    • Admins can create, publish, and unpublish blogs.
    • Blogs can be viewed publicly by users.
  5. Role-Based Middleware:
    • Implements secure and restricted access for specific routes based on user roles.
  6. Data Validation:
    • Ensures secure and consistent storage with input validation.
  7. Search Functionality:
    • Provides APIs for searching donors by blood group, district, and upazila.

Technologies Used

  • Node.js: Runtime environment for building scalable server-side applications.
  • Express.js: Web framework for handling RESTful APIs.
  • MongoDB: NoSQL database for efficient data storage and querying.
  • Mongoose: Object Data Modeling (ODM) for MongoDB.
  • Stripe: Payment processing for funding management.
  • bcrypt: Password hashing for secure user authentication.
  • JsonWebToken (JWT): Token-based authentication for secure API access.
  • Dotenv: Manages environment variables for configuration.
  • Cors: Enables secure cross-origin resource sharing.

Installation Instructions

  1. Clone the repository:
    git clone <repository_url>
    cd blood-aid-server

About

About Blood Aid is a user-friendly platform designed to connect blood donors with recipients in need. It streamlines the donation process while promoting a safe and efficient blood donation network.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published