Skip to content

MahimaBhagwat/BloodConnect-DBMS-Project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BloodConnect Portal

This comprehensive guide contains all the steps required to run the BloodConnect Portal locally.

Project Overview

This is an intermediate-level Blood Bank & Donor Management System built using Python Flask (backend) and MySQL (database). It supports full public search features and role-based protected dashboards for Donors, Blood Bank Staff, and System Administrators.

Prerequisites

Ensure you have the following tools installed on your system:

  1. Python 3.8+
  2. MySQL Server (or MySQL Workbench/equivalent client)
  3. Git (for cloning the repository)

Step 1: Clone and Set Up Environment

# Clone the repository
git clone <repository_url>
cd <repository_name>

# Create a virtual environment (Recommended)
python -m venv .venv

# Activate the environment
# On Windows:
.venv\Scripts\activate
# On macOS/Linux:
source .venv/bin/activate

# Install required Python packages
pip install flask mysql-connector-python

Step 2: Database Configuration and Setup

2.1 Configure Database Connection

  1. Create a file named .env in the project root with the following content:
DB_HOST=localhost
DB_USER=root
DB_PASSWORD=your_mysql_root_password
DB_NAME=bloodbanks
  1. Update the values according to your local MySQL setup.
  2. IMPORTANT: Add .env to your .gitignore file to prevent exposing sensitive credentials.

2.2 Execute Schema Script

  1. Open your MySQL Workbench or command line client
  2. Open a new SQL tab and paste the entire contents of the project's schema.sql file
  3. Execute the entire script to create the bloodbanks database and all tables

Step 3: Run the Application

# Ensure your virtual environment is active
# Run the application
python app.py

The application should now be accessible at: http://127.0.0.1:5000

4. Testing Accounts (Role-Based Access)

Role Email Password
System Admin admin@bloodconnect.org (See secure note below)
Blood Bank Staff bbank_mumbai@example.com (See secure note below)
Donor priya.sharma@example.com (See secure note below)

⚠️ SECURITY NOTE: For security reasons, test account credentials should be shared separately through a secure channel (not in public repositories). Contact the project administrator for test account details.

Key Project Features to Test

  • Public Portal: Verify Stock Search (with State/District filter and aggregated results)
  • Donor Flow: Register a new user and log in with the new account to check profile and eligibility status
  • Bank Staff Flow: Update stock quantities and register new camps (requires bank staff credentials)
  • Admin Flow: Navigate the management console to see live statistics and toggle bank/donor statuses (requires admin credentials)

Security Recommendations

  1. Never commit sensitive credentials to version control
  2. Use environment variables or secure configuration management for sensitive data
  3. Consider implementing password hashing in production
  4. Regularly rotate passwords and access credentials
  5. Implement proper session management and CSRF protection
  6. Enable HTTPS in production deployments

Need Help?

Contact the project administrator for:

  • Test account credentials
  • Database setup assistance
  • Deployment questions

About

Intermediate Blood Bank & Donor Management System built with Flask and MySQL.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors