A secure, tamper-evident Document Management System (DMS) and Physical Evidence Custody Tracker designed for law enforcement and forensic science laboratories.
-
Stage 1: Digital Document & Case Ingestion:
- Secure case registration.
- Real-time SHA-256 cryptographic document hashing.
- Automated text extraction from uploaded PDF and text documents using
pypdf.
-
Stage 2: Physical Evidence & Blind FSL Custody Verification:
- Multi-attribute physical asset registration (IMEI/Serial, Tamper-evident Seal ID, Baseline Weight in grams).
- Blind Verification Protocol (ISO/IEC 27037): Baseline weight is sealed in the database to prevent fraudulent handovers.
- Automated weight tolerance checks (
$\pm 0.5\text{g}$ ) and instant Tamper Alarm triggering. - Immutable custody history audit trail.
-
Persistent Database Storage:
- Automatic SQLite/MySQL support with zero mock data.
- Backend: Python, FastAPI, SQLAlchemy, PyPDF, ReportLab, Uvicorn
- Frontend: React 18, Vite, Tailwind CSS, Lucide Icons, Axios
- Database: MySQL / SQLite
If a friend wants to clone this project and work on it, they can follow these steps:
git clone <YOUR_GITHUB_REPOSITORY_URL>
cd <REPOSITORY_FOLDER_NAME>- Navigate to the backend directory:
cd backend - Create a Python virtual environment:
python -m venv venv
- Activate the virtual environment:
- Windows PowerShell:
.\venv\Scripts\activate - Windows Command Prompt (cmd):
venv\Scripts\activate - Linux / macOS:
source venv/bin/activate
- Windows PowerShell:
- Install all required dependencies:
pip install -r requirements.txt
- Start the backend server:
(Backend API will run at
uvicorn main:app --reload
http://localhost:8000)
- Open a second terminal and navigate to the frontend directory:
cd frontend - Install all frontend dependencies:
npm install
- Start the React development server:
(Frontend interface will run at
npm run dev
http://localhost:3000)
Open your browser and navigate to:
👉 http://localhost:3000