Skip to content

habichuela13/Vehicles_of_Interest

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

8 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸš” Maryland State Police - Vehicles of Interest Management System Web React Version

A modern React-based application for tracking and managing vehicles of interest, converted from Java Swing to provide a responsive, web-based interface for law enforcement personnel.

πŸŽ₯ Demo Video

VehiclesOfInterest.mp4

Note: To add your video demo, upload the MP4 file to GitHub Issues or Releases, then replace your-video-id-here with the actual asset ID from the URL GitHub provides.

πŸš€ Features

πŸ“Š Dashboard Overview

  • Real-time Metrics: Live tracking of total vehicles, alerts, and statistics
  • Visual Analytics: Interactive charts and data visualizations
  • Quick Navigation: Easy access to all major features

πŸš— Vehicle Management

  • Comprehensive Database: Store detailed vehicle information
  • Advanced Search: Multi-field search and filtering capabilities
  • Alert Categories: Support for Amber Alerts, Silver Alerts, and Stolen Vehicle tracking
  • Owner Information: Contact details and ownership records

🚨 Alert System

  • Amber Alerts: Missing children vehicle associations
  • Silver Alerts: Missing elderly person vehicle tracking
  • Stolen Vehicles: Comprehensive stolen vehicle database
  • Custom Reasons: Configurable reasons for vehicle interest

βš™οΈ Administrative Tools

  • Reason Management: Add, edit, and delete alert categories
  • Make & Model Database: Comprehensive vehicle manufacturer database
  • User Management: Administrative controls and permissions
  • System Monitoring: Health checks and performance metrics

πŸ› οΈ Technology Stack

Frontend

  • React 18 - Modern JavaScript framework
  • TypeScript - Type-safe development
  • Tailwind CSS - Utility-first CSS framework
  • Radix UI - Accessible component library
  • Lucide React - Beautiful icon library

Development Tools

  • Vite - Fast build tool and development server
  • ESLint - Code linting and quality assurance
  • Prettier - Code formatting
  • PostCSS - CSS processing and optimization

Video Production

  • Remotion - Programmatic video creation
  • React-based Animations - Smooth transitions and effects

πŸ“‹ Prerequisites

Before running this application, make sure you have:

  • Node.js (v18 or higher)
  • npm (v9 or higher)
  • Modern web browser (Chrome, Firefox, Safari, Edge)

πŸ”§ Installation & Setup

1. Clone the Repository

git clone <repository-url>
cd VehiclesOfInterestDesktop

2. Install Dependencies

npm install

3. Start Development Server

npm run dev

The application will be available at http://localhost:3000

4. Video Production (Optional)

To work with the promotional video:

cd remotion
npm install
npm run start  # Opens Remotion Studio at http://localhost:3001

🎯 Available Scripts

Main Application

  • npm run dev - Start development server
  • npm run build - Build for production
  • npm run preview - Preview production build
  • npm run type-check - Run TypeScript type checking
  • npm run lint - Run ESLint code analysis

Video Production (in /remotion directory)

  • npm run start - Launch Remotion Studio
  • npm run render - Render the main promotional video
  • npm run render-hello - Render the hello world demo

πŸ“± Application Usage

Getting Started

  1. Dashboard: View system overview and key metrics
  2. Vehicles: Browse, search, and manage vehicle records
  3. Add Vehicle: Register new vehicles of interest
  4. Reasons: Configure alert categories and descriptions
  5. Makes & Models: Manage vehicle manufacturer database
  6. Admin: Access administrative tools and settings

Key Workflows

  1. Adding a Vehicle:

    • Navigate to Vehicles β†’ Add New Vehicle
    • Fill in license plate, make, model, and reason
    • Save to add to the tracking system
  2. Searching Records:

    • Use the search bar for quick lookups
    • Apply filters by reason, make, or color
    • Click any vehicle for detailed information
  3. Managing Alerts:

    • Configure alert reasons in the Reasons section
    • Associate vehicles with specific alert types
    • Monitor active alerts from the dashboard

πŸ—οΈ Project Structure

VehiclesOfInterestDesktop/
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ components/           # React components
β”‚   β”‚   β”œβ”€β”€ ui/              # Reusable UI components
β”‚   β”‚   β”œβ”€β”€ Dashboard/       # Dashboard-specific components
β”‚   β”‚   β”œβ”€β”€ Vehicles/        # Vehicle management components
β”‚   β”‚   └── Admin/           # Administrative components
β”‚   β”œβ”€β”€ assets/              # Static assets and images
β”‚   β”œβ”€β”€ styles/              # Global styles and themes
β”‚   └── config/              # Configuration files
β”œβ”€β”€ remotion/                # Video production files
β”‚   β”œβ”€β”€ src/                 # Video compositions
β”‚   └── out/                 # Rendered videos
β”œβ”€β”€ public/                  # Public static files
└── docs/                    # Documentation

πŸ”„ Migration from Java Swing

This application represents a complete modernization of the original Java Swing desktop application:

What Was Converted

  • βœ… UI Framework: Java Swing β†’ React + TypeScript
  • βœ… Styling: Custom Java Graphics β†’ Tailwind CSS
  • βœ… State Management: Java Objects β†’ React Context + Hooks
  • βœ… Data Layer: JDBC β†’ Modern REST API ready architecture
  • βœ… Build System: Ant/Maven β†’ Vite
  • βœ… Development Experience: IDE-dependent β†’ Hot reload + modern tooling

Benefits of the Migration

  • 🌐 Web-based: Accessible from any modern browser
  • πŸ“± Responsive: Works on desktop, tablet, and mobile devices
  • ⚑ Performance: Fast loading and smooth interactions
  • 🎨 Modern UI: Clean, professional interface design
  • πŸ”§ Maintainable: Modern development practices and tooling
  • πŸš€ Scalable: Easy to extend and modify

🀝 Contributing

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

πŸ“„ License

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

πŸ†˜ Support & Contact

For questions, issues, or support:

  • Create an issue in the GitHub repository
  • Contact the development team
  • Review the documentation in the /docs directory

πŸŽ‰ Acknowledgments

  • Maryland State Police - For the original application requirements
  • Figma Design System - For the initial UI/UX components
  • React Community - For the amazing ecosystem and tools
  • Remotion - For enabling programmatic video creation

About

VOI Database created for Web app for my UMGC class

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages