Skip to content

rute-sophie/BloodLedger

Repository files navigation

BloodLedger 🩸🏥

This is my turbin3 capstone project called BloodLedger. BloodLedger is a decentralised Blood Donation Management System in Solana where healthcare professionals can have real-time access to blood inventory data (e.g., blood types and their availability) with tokenized incentives for donors.

The goals are to help shortage by boosting donor engagement with a recognition system, enhance security by protecting sensitive donor and patient data using encrypted storage in solana blockchain, and to ensure timely access to blood supplies.

Documentation

Project Structure

Solana Program /programs/bloodledger

The Anchor-based Solana program that handles:

  • Blood donation management
  • Institution registration and inventory tracking
  • Donor registration and reward system
  • Blood unit lifecycle management

Integration Tests /tests/bloodledger.ts

Comprehensive test suite covering:

  • Program initialization
  • Institution management
  • Donor registration and tracking
  • Blood donation workflows
  • Reward distribution
  • Error cases and edge conditions

Web Interface /app

React-based user interface providing:

  • Program monitoring and administration
  • Institution management dashboard
  • Donor registration and tracking
  • Blood inventory management See the app README for detailed features.

Deployment

Devnet Deployment

Program ID: b1oodxpcTKPaXCUd5nnmTb8q85vRMfNmDLsqcqvUwwF

To interact with the deployed program:

  1. Configure your wallet to Devnet
  2. Ensure you have sufficient SOL (use devnet faucet if needed)
  3. Run the React App (instructions bellow)

Installation

Prerequisites

  • Node.js v18.18.0 or higher
  • Rust v1.77.2 or higher
  • Solana CLI 1.18.17 or higher
  • Anchor CLI 0.30.1 or higher
  • pnpm (for package management)

Setup Steps

  1. Clone the repository
git clone <repository-url>
cd bloodledger
  1. Install dependencies
pnpm install
  1. Build the Anchor program
anchor build
  1. Deploy to localnet (for development)
anchor deploy --provider.cluster localnet
  1. Start the web application
cd app
pnpm dev

Development Workflow

Local Development

  1. Start a local validator:
solana-test-validator
  1. Deploy the program:
anchor deploy --provider.cluster localnet
  1. Run integration tests:
anchor test
  1. Start the web interface:
cd app
pnpm dev

Testing

  • Run all tests: anchor test
  • Run specific test: anchor test --filter <test-name>

License

This project is licensed under the MIT License - see the LICENSE file for details.

About

My Turbin3 capstone project called BloodLedger. BloodLedger is a decentralised Blood Donation Management System in Solana where healthcare professionals can have real-time access to blood inventory data (e.g., blood types and their availability) with tokenized incentives for donors.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages