USFederalGov

DOJ CAD/MDT - Federal Law Enforcement System

Department of Justice Computer-Aided Dispatch / Mobile Data Terminal

A comprehensive web-based CAD/MDT (Computer-Aided Dispatch / Mobile Data Terminal) system designed for Federal Law Enforcement agencies including FBI, DEA, ATF, U.S. Marshals Service, HSI, CBP, and Secret Service.

🚨 System Overview

This system provides federal law enforcement officers with:

πŸ” Security & Compliance

⚠️ IMPORTANT: This is a demonstration system only. No actual NCIC database connections or law enforcement data is accessed or stored.

For production use, this system would require:

🎯 Features

Dispatch Management

Active Incidents

Unit Status Board

Interactive Live Map πŸ—ΊοΈ

Real-Time Statistics Dashboard πŸ“Š

Quick Action Buttons ⚑

Theme Switcher πŸŒ“

Audio Notifications πŸ”Š

Keyboard Shortcuts ⌨️

NCIC Lookup System

Person Search:

Vehicle Search:

Property Search:

Firearm Search:

Warrant Management

BOLO/ATL System

Officer Safety Features

System Monitoring

πŸ–₯️ Technology Stack

πŸš€ Installation & Setup

Prerequisites

Local Development

  1. Clone the repository:
    git clone https://github.com/schoolaccount76590/USFederalGov.git
    cd USFederalGov
    
  2. Install dependencies:
    npm install
    
  3. Configure environment (optional):
    # Copy example environment file
    cp .env.example .env
       
    # Edit .env to customize settings (JWT_SECRET, etc.)
    
  4. Initialize and start the server:
    npm start
    
  5. Access the system:
    • Open your browser to http://localhost:3000
    • You’ll be redirected to the login page

Demo Credentials

The system comes pre-seeded with demo users:

Docker Deployment

  1. Build and run with Docker Compose:
    docker-compose up -d
    
  2. Or build manually:
    docker build -t doj-cad-mdt .
    docker run -p 3000:3000 -v cad-data:/app/data doj-cad-mdt
    

Cloud Deployment

The application is ready for deployment on various cloud platforms:

Heroku Deployment (Step-by-Step)

Follow these steps to deploy the application on Heroku:

Prerequisites

  1. Install the Heroku CLI:
  2. Create a Heroku account:
  3. Log in to Heroku:
    heroku login
    

Step 1: Create a New Heroku App

# Navigate to your project directory
cd USFederalGov

# Create a new Heroku app (replace 'your-app-name' with your desired name)
heroku create your-app-name

# Or let Heroku generate a random name
heroku create

Step 2: Configure Environment Variables

Set the required environment variables on Heroku:

# Set JWT secret (use a secure random string in production)
heroku config:set JWT_SECRET=your-secure-jwt-secret-key

# Set cookie secret (use a secure random string in production)
heroku config:set COOKIE_SECRET=your-secure-cookie-secret

# Set Node environment to production
heroku config:set NODE_ENV=production

Important: Generate secure secrets for production:

# Generate a secure random string (example using Node.js)
node -e "console.log(require('crypto').randomBytes(32).toString('hex'))"

Step 3: Deploy to Heroku

Option A: Deploy via Git (Recommended)

# Add Heroku remote if not already added
heroku git:remote -a your-app-name

# Push your code to Heroku
git push heroku main

Option B: Deploy via GitHub Integration

  1. Go to your Heroku Dashboard
  2. Select your app
  3. Navigate to the β€œDeploy” tab
  4. Under β€œDeployment method”, select β€œGitHub”
  5. Connect your GitHub account and select the repository
  6. Enable β€œAutomatic Deploys” for continuous deployment (optional)
  7. Click β€œDeploy Branch” to manually deploy

Step 4: Verify Deployment

# Open the application in your browser
heroku open

# Check the application logs
heroku logs --tail

Step 5: Post-Deployment

After deployment, access your application at:

Use the demo credentials to log in:

Troubleshooting Heroku Deployment

  1. View logs:
    heroku logs --tail
    
  2. Restart the application:
    heroku restart
    
  3. Check app status:
    heroku ps
    
  4. Run database initialization manually (if needed):
    heroku run npm run db:init
    
  5. Check environment variables:
    heroku config
    

Heroku Configuration Notes

πŸ“ File Structure

/
β”œβ”€β”€ server/                 # Backend server
β”‚   β”œβ”€β”€ index.js           # Express server entry point
β”‚   β”œβ”€β”€ db/
β”‚   β”‚   β”œβ”€β”€ connection.js  # SQLite database connection
β”‚   β”‚   └── init.js        # Database initialization & seeding
β”‚   β”œβ”€β”€ middleware/
β”‚   β”‚   └── auth.js        # JWT authentication middleware
β”‚   └── routes/
β”‚       β”œβ”€β”€ auth.js        # Authentication routes
β”‚       β”œβ”€β”€ calls.js       # Dispatch calls API
β”‚       β”œβ”€β”€ incidents.js   # Incidents API
β”‚       β”œβ”€β”€ units.js       # Units status API
β”‚       β”œβ”€β”€ warrants.js    # Warrants API
β”‚       β”œβ”€β”€ bolo.js        # BOLO alerts API
β”‚       └── ncic.js        # NCIC lookups (demo)
β”œβ”€β”€ public/                 # Frontend static files
β”‚   β”œβ”€β”€ index.html         # Main CAD/MDT interface
β”‚   β”œβ”€β”€ login.html         # Authentication page
β”‚   β”œβ”€β”€ styles.css         # System stylesheet
β”‚   β”œβ”€β”€ js/
β”‚   β”‚   └── main.js        # Frontend JavaScript
β”‚   └── assets/
β”‚       └── doj-seal.svg   # Department of Justice seal
β”œβ”€β”€ data/                   # SQLite database (auto-created)
β”œβ”€β”€ package.json           # Node.js dependencies
β”œβ”€β”€ Procfile               # Heroku deployment configuration
β”œβ”€β”€ Dockerfile             # Docker container configuration
β”œβ”€β”€ docker-compose.yml     # Docker Compose configuration
β”œβ”€β”€ .env.example           # Environment variables template
β”œβ”€β”€ README.md              # This file
└── LICENSE                # Apache 2.0 License

🎨 User Interface

Color Scheme

πŸ”§ Configuration

For production deployment, you would need to configure:

  1. Database Connections
    • NCIC database credentials
    • Local incident database
    • Warrant database
    • Unit tracking system
  2. Authentication
    • LDAP/Active Directory integration
    • Multi-factor authentication
    • Session management
    • Token-based API authentication
  3. API Endpoints
    • NCIC API integration
    • Regional/local CAD integration
    • Federal agency databases
    • GIS/mapping services
  4. Security
    • SSL/TLS certificates
    • Firewall configuration
    • Access control lists
    • Audit logging

πŸ“± Mobile Access

The system is fully responsive and can be accessed from:

🎯 Use Cases

Dispatch Center

Mobile Data Terminal (MDT)

Field Officer

⚠️ Disclaimer

This is a demonstration system for educational purposes only.

For actual law enforcement use, this system would require:

🀝 Federal Agencies Supported

πŸ“„ License

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

πŸ”’ Privacy & Data Protection

This demonstration system:

πŸ“ž Support

This is a demonstration project. For questions or issues:

πŸŽ“ Educational Purpose

This system is designed to demonstrate:


Built for demonstration and educational purposes
Not affiliated with the Department of Justice or any federal agency
Β© 2024 Demo System - Not for actual law enforcement use