Skip to content

Janviswa/BloodPrint-ID

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

58 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🩸 BloodPrint ID

Fingerprint pattern classification with statistical blood group correlation — built for educational and research purposes.

Live Demo Backend License YouTube Gmail


🌐 Live Demo

🔗 Website: https://blood-print-id.vercel.app

🎥 Demo Video: Watch on YouTube


📌 Overview

BloodPrint ID is a full-stack AI web application that analyzes fingerprint images to classify their pattern type (Loop, Whorl, or Arch) and provides statistical blood group likelihood based on published dermatoglyphic research.

⚠️ Not a medical tool. All blood group correlations are statistical estimates from published research — not a clinical diagnosis.


✨ Features

  • 🔍 Fingerprint Pattern Classification — Loop, Whorl, Arch using EfficientNetB0
  • 🩸 Blood Group Statistical Correlation — based on published dermatoglyphic studies
  • 📊 Image Quality Metrics — clarity score, ridge density, edge ratio
  • 📄 PDF Report Generation — downloadable professional report per analysis
  • 🗂️ Analysis History — view and manage past predictions
  • 🔐 JWT Authentication — secure user accounts
  • 🌙 Dark Mode UI — sleek React frontend

🛠️ Tech Stack

Layer Technology
Frontend React, Vite, Axios
Backend Flask, Python 3.11
ML Model EfficientNetB0 → TFLite
Database PostgreSQL (Supabase)
PDF ReportLab
Auth Flask-JWT-Extended
Hosting Vercel (frontend) · Render (backend)

🏗️ Project Structure

BloodPrint-ID/
├── backend/
│   ├── app.py                  # Flask app factory
│   ├── predictor.py            # TFLite inference + image metrics
│   ├── report_generator.py     # PDF generation (ReportLab)
│   ├── convert_model.py        # H5 → TFLite conversion utility
│   ├── models.py               # SQLAlchemy models
│   ├── extensions.py           # DB + JWT init
│   ├── routes/
│   │   ├── auth.py             # Register / Login
│   │   ├── predict.py          # POST /api/predict
│   │   ├── history.py          # GET /api/history
│   │   └── report.py           # GET /api/report/<id>
│   ├── model.tflite            # Optimised TFLite model
│   ├── requirements.txt
│   └── Procfile
└── frontend/
    └── src/
        ├── pages/
        │   ├── Predict.jsx     # Main analysis page
        │   ├── History.jsx     # Past analyses
        │   ├── Research.jsx    # Research references
        │   └── Settings.jsx    # User settings
        ├── context/
        │   └── AuthContext.jsx
        └── utils/
            └── api.js          # Axios instance

🚀 Getting Started

Prerequisites

  • Python 3.11+
  • Node.js 18+
  • PostgreSQL database (e.g. Supabase)

Backend Setup

cd backend
python -m venv venv
source venv/bin/activate       # Windows: venv\Scripts\activate
pip install -r requirements.txt

# Create .env file
cp .env.example .env
# Fill in DATABASE_URL, SECRET_KEY, JWT_SECRET

python app.py

Frontend Setup

cd frontend
npm install

# Create .env file
echo "VITE_API_URL=http://localhost:5000/api" > .env

npm run dev

Convert Model (if needed)

cd backend
python convert_model.py
# Generates model.tflite from bloodprint_efficientnet.h5

🌐 Deployment

Service Purpose Config
Vercel Frontend hosting VITE_API_URL env var
Render Backend hosting DATABASE_URL, SECRET_KEY, JWT_SECRET env vars
Supabase PostgreSQL database Connection string in DATABASE_URL

📚 Research References

  1. Dogra, T.D. et al. (2014). Fingerprint patterns and ABO blood group correlation. Journal of Forensic Medicine and Toxicology.
  2. Nayak, V.C. et al. (2010). Correlating fingerprint patterns with blood groups. Journal of Forensic and Legal Medicine.
  3. Igbigbi, P.S. & Thumb, B. (2002). Dermatoglyphic patterns of Ugandan and Tanzanian subjects. West African Journal of Medicine.
  4. Cummins, H. & Midlo, C. (1961). Finger Prints, Palms and Soles. Dover Publications.

⚖️ Disclaimer

This project is for educational and research purposes only. Blood group predictions are based on statistical correlations from published dermatoglyphic research and do not constitute a medical diagnosis. Always use a certified laboratory blood typing test for actual blood group determination.


⭐ Support

If you found this project helpful or interesting, please consider giving it a star ⭐ — it helps others discover the project and motivates further development!

Star this repo

💬 Have feedback or questions? Reach out at jananiviswa05@gmail.com


👩‍💻 Author

Janani V

GitHub Gmail YouTube


Made with ❤️ for research · Not for clinical use

About

AI-powered fingerprint pattern classifier with blood group statistical correlation — Full stack ML app built with EfficientNetB0, Flask, React & TFLite

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors