Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

It's an Evidence Protection System Using Blockchain Technology.

License

Notifications You must be signed in to change notification settings

Sumeets-Code/UBlock

Open more actions menu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

119 Commits
119 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🛡️ Evidence Management System powered by Blockchain & AI/ML

GitHub stars GitHub forks License Blockchain Ethereum AI ML

A secure, tamper-proof, and intelligent evidence management platform that leverages Blockchain technology for integrity, IPFS for decentralized storage, and AI/ML for real-time intruder identification.
In case of unauthorized access, the system captures a photo of the intruder, checks criminal records, and alerts the authorities.

🚀 Features

  • Immutable Blockchain Ledger – Ensures that evidence records cannot be altered or deleted.
  • Decentralized Storage with IPFS – Stores large files securely and makes them accessible only to authorized personnel.
  • Intruder Detection – Captures photos upon unauthorized access attempts.
  • AI/ML Criminal Record Check – Uses facial recognition to match intruder photos with a criminal database.
  • Real-Time Alerts – Notifies security authorities in case of a security breach.
  • Role-Based Access Control – Only authorized users can view or upload evidence.

🏗️ Tech Stack

Frontend:

  • React.js
  • Tailwind CSS

Backend:

  • Node.js
  • Express.js

Blockchain:

  • Ethereum Smart Contracts (Solidity)
  • Hardhat
  • Web3.js

Storage:

  • IPFS (InterPlanetary File System)

AI/ML:

  • Python (Face Recognition / Deep Learning Models)
  • OpenCV
  • TensorFlow / PyTorch

Database:

  • MongoDB / PostgreSQL

System Design

System Design Diagram

📌 Project Architecture

UBlock/
├── backend/
│   ├── api/                         # Express-based API service
│   │   ├── server.js                # Entry point for Express server
│   │   ├── routes/                  # API routes for various modules
│   │   │   ├── auth.js              # Authentication & login routes (MongoDB)
│   │   │   ├── evidence.js          # Evidence management routes (MongoDB)
│   │   │   ├── ipfs.js              # New routes for IPFS operations
│   │   │   └── blockchain.js        # Routes for blockchain operations
│   │   ├── models/                  # Database models/schemas
│   │   │   ├── user.model.js        # MongoDB user login info
│   │   │   └── evidence.model.js    # MongoDB evidence documents
│   │   ├── Downloads/               # All the files downloaded from IPFS
│   │   └── config/                  # Configuration files (DB connections, env variables)
│   ├── ml_service/                  # Machine Learning service for intrusion detection
│   │   ├── index.js                 # ML service entry (or proxy to a Python microservice)
│   │   └── models/                  # ML models and related code
│   ├── blockchain/                  # Blockchain integration using Ethereum
│   │   ├── contracts/               # Solidity smart contracts (e.g., EvidenceProtection.sol)
│   │   ├── hardhat.config.js        # Hardhat configuration for contract development
│   │   ├── scripts/                 # Deployment & interaction scripts for contracts
│   │   └── tests/                   # Unit/integration tests for smart contracts
│   ├── ipfs_service/                # New IPFS service for handling file storage
│   │   ├── index.js                 # Entry point for IPFS service
│   │   ├── upload.js                # Functions for uploading file to IPFS
│   │   ├── retrieve.js              # Functions for retrieving files from IPFS
│   │   └── config.js                # Configuration for IPFS (e.g., node address)
│   ├── email_service/               # New email service for handling email operations
│   │   ├── sendEmail.js             # Functions for sending emails
│   │   └── config.js                # Configuration for email service (SMTP settings)
│   └── package.json                 # Node.js package configuration for backend
│
├── frontend/
│   └── react_app/                   # React-based frontend application
│       ├── public/
│       ├── src/
│       │   ├── components/          # Reusable UI components
│       │   ├── pages/               # Page-level components/views
│       │   ├── services/            # API service calls to the backend
│       │   ├── App.js
│       │   └── index.js
│       └── package.json             # Node.js package configuration for frontend
├── docs/                            # Documentation and project artifacts
│   ├── architecture.md
│   ├── requirements.md
│   └── README.md
├── tests/                           # Global tests (unit, integration, end-to-end)
│   ├── backend_tests/
│   ├── frontend_tests/
│   └── blockchain_tests/
└── docker-compose.yml               # Container orchestration for multi-service setup

⚙️ Installation

  1. Clone the Repository

    git clone https://github.com/Sumeets-Code/UBlock.git
    cd UBlock
  2. Install Dependencies

    # Backend
    cd backend
    npm install
    
    # Frontend
    cd ../frontend
    npm install
  3. Configure Environment Variables Create .env files in both backend and frontend with:

    MONGO_URI=your_mongodb_connection
    INFURA_API_KEY=your_infura_key
    IPFS_API_URL=ipfs_gateway_url
    AI_MODEL_PATH=model_directory_path
  4. Deploy Smart Contracts

    cd backend
    npx hardhat run scripts/deploy.js --network <network_name>
  5. Run the Project

    # Backend
    cd backend
    npm run dev
    
    # Frontend
    cd ../frontend
    npm start

🧠 AI/ML Component

The AI/ML module:

  • Uses facial recognition to identify intruders.
  • Matches the captured face against criminal databases.
  • Generates a threat score and sends alerts.

Model trained on LFW Dataset and fine-tuned for law enforcement datasets.


🔒 Security Measures

  • End-to-End Encryption of all data transfers.
  • Multi-Signature Authorization for evidence approval.
  • Blockchain Audit Trails for transparency.
  • Decentralized Access Logs to prevent tampering.

📸 Screenshots

Unauthorized Access Detected Evidence Blockchain Record
Intruder Capture Blockchain Proof

📜 License

This project is licensed under the MIT License.


🤝 Contributors

  • Sumeet Bhagat – Backend Development
  • Shreyash Gardi & Bhanavi Pandey – Frontend Development
  • Anoushka Ingle - Testing

📬 Contact

For queries, reach out at: 📧 sumeetbhagat1811@gmail.com 🔗 LinkedIn

About

It's an Evidence Protection System Using Blockchain Technology.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Morty Proxy This is a proxified and sanitized view of the page, visit original site.