Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/shrivastava-26/swasthyachain
SwasthyaChain is a blockchain-based EHR platform that secures and decentralizes patient data.
https://github.com/shrivastava-26/swasthyachain
ganache ipfs metamask nodejs reactjs solidity truffle
Last synced: about 1 month ago
JSON representation
SwasthyaChain is a blockchain-based EHR platform that secures and decentralizes patient data.
- Host: GitHub
- URL: https://github.com/shrivastava-26/swasthyachain
- Owner: shrivastava-26
- License: mit
- Created: 2024-02-28T11:45:54.000Z (10 months ago)
- Default Branch: master
- Last Pushed: 2024-11-13T16:05:06.000Z (about 1 month ago)
- Last Synced: 2024-11-23T21:14:37.357Z (about 1 month ago)
- Topics: ganache, ipfs, metamask, nodejs, reactjs, solidity, truffle
- Language: JavaScript
- Homepage:
- Size: 28.4 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# SwasthyaChain - Blockchain-Based Healthcare Data ManagementβοΈ
SwasthyaChain is a decentralized application (DApp) that leverages blockchain technology to securely store and manage patients' healthcare data. Built using **ReactJS**, **Node.js**, **IPFS**, **Metamask**, **Truffle Suite**, and the **Ethereum Network**, this project aims to provide a secure, transparent, and tamper-proof system for storing patient records.
The platform offers personalized dashboards for **Doctors**, **Diagnostics**, and **Patients** to ensure streamlined access and management of sensitive health data.
## πΈ Screenshots
- **Patient Dashboard**
![Patient Dashboard](path-to-patient-dashboard-screenshot.png)
- **Doctor Dashboard**
![Doctor Dashboard](path-to-doctor-dashboard-screenshot.png)
- **Diagnostic Dashboard**
![Diagnostic Dashboard](path-to-diagnostic-dashboard-screenshot.png)## π‘ Key Features
- **Secure Storage**: Patient records are stored on a decentralized network using **IPFS**.
- **Blockchain-Powered**: Uses **Ethereum** blockchain and **Smart Contracts** for data integrity and security.
- **Metamask Integration**: Metamask is used for user authentication and transaction management on the Ethereum network.
- **Personalized Dashboards**: Custom dashboards for doctors, diagnostic centers, and patients for managing and accessing data securely.
- **Transparency & Privacy**: Immutable data records ensuring transparency with encrypted patient data privacy.## π οΈ Technology Stack
### Frontend
- **ReactJS**: JavaScript library for building user interfaces.
- **Metamask**: Ethereum wallet integration for managing blockchain transactions.
### Backend
- **Node.js**: JavaScript runtime for building server-side logic.
- **Express.js**: Web application framework for Node.js.
### Blockchain
- **Ethereum**: Decentralized platform for deploying smart contracts.
- **Truffle Suite**: Development framework for Ethereum-based smart contracts.
- **IPFS (InterPlanetary File System)**: Decentralized storage system for storing patient records securely.## π Project Structure
βββ client/ # React frontend
β βββ src/
β βββ public/
β βββ package.json
βββ contracts/ # Smart contracts for Ethereum blockchain
βββ migrations/ # Deployment scripts for Truffle
βββ test/ # Test scripts for smart contracts
βββ server/ # Node.js backend
β βββ routes/
β βββ models/
β βββ app.js
β βββ package.json
βββ truffle-config.js # Truffle suite configuration## π§ Installation and Setup
Prerequisites
Ensure you have the following installed:Node.js (version X.X.X)
Truffle Suite
Metamask Extension for your browser
Ganache (for local Ethereum blockchain development)
StepsClone the repository:
git clone https://github.com/your-username/SwasthyaChain.git
Install dependencies:Navigate to both the client and server directories and run:
npm install
Run the local Ethereum blockchain (Ganache):Open Ganache and start a new workspace. Make sure it runs on the same port as configured in your truffle-config.js.
Deploy smart contracts:
In the project root directory, run:
truffle migrate --reset
Start the backend server:
cd server
npm start
Run the React frontend:In a new terminal, navigate to the client directory and run:
npm start
Connect Metamask:Open Metamask and connect it to your local Ganache blockchain. Import accounts from Ganache for testing.
## π Smart Contracts Overview
The SwasthyaChain platform is powered by smart contracts that manage access control and ensure the secure storage of medical records. The contracts are written in Solidity and deployed on the Ethereum network.## Key Smart Contracts
PatientContract.sol: Manages patient data, permissions, and updates.
DoctorContract.sol: Grants doctors access to specific patient records.
DiagnosticContract.sol: Allows diagnostic centers to store and access test results for patients.## π Future Enhancements
Interoperability with other healthcare providers.
AI-powered diagnostics using patient data.
Tokenization for incentivizing data sharing.
Improved UI/UX for better user experience.## π‘οΈ Security
All patient data is stored in encrypted form on IPFS.
Only authorized doctors and diagnostic centers can access specific patient data based on permissions granted by the patient.##π License
This project is licensed under the MIT License.## π¨βπ» Author
Prince Raj - GitHub Profile
Feel free to contribute to this project and suggest improvements!## This README includes a detailed project description, installation steps, tech stack, and a basic structure