# amanprojects-ops/crimestationmanagement architecture

> Architecture diagram of the GitHub repository amanprojects-ops/crimestationmanagement, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-26). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/amanprojects-ops/crimestationmanagement
- Repository: https://github.com/amanprojects-ops/crimestationmanagement

## Overview

CFMS is a JSP-based citizen policing portal for reporting and tracking incidents, alongside police case management and public safety information. Citizens submit reports or complaints and can track responses; police staff handle investigations, legal records, and public bulletins; administrators manage portal settings. The tree and README identify these capabilities, while sampled Java source confirms the shared database helper and cached settings service. Most JSP action implementations were not sampled, so links between individual screens and their persistence or notification behavior are not inferred.

Main entry points: [`web/index.jsp`](https://github.com/amanprojects-ops/crimestationmanagement/blob/main/web/index.jsp) (Public Portal), [`web/admin_system_manager.jsp`](https://github.com/amanprojects-ops/crimestationmanagement/blob/main/web/admin_system_manager.jsp) (System Manager), [`src/java/com/crimeportal/SettingsService.java`](https://github.com/amanprojects-ops/crimestationmanagement/blob/main/src/java/com/crimeportal/SettingsService.java) (Settings Cache), [`src/java/com/crimeportal/DBUtil.java`](https://github.com/amanprojects-ops/crimestationmanagement/blob/main/src/java/com/crimeportal/DBUtil.java) (Database Helper)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_citizen["Citizen Services"]
  node_public_portal["Public Portal<br/>[index.jsp]"]
  node_crime_reporting["Crime Reporting<br/>[crimereport.jsp]"]
  node_complaints_fir["Complaints &amp; FIR<br/>[complaint.jsp]"]
  node_complaint_tracking["Complaint Tracking"]
  node_safety_bulletins["Safety Bulletins<br/>[latestnews.jsp]"]
  node_missing_registry["Missing Persons<br/>[missingperson.jsp]"]
  node_wanted_registry["Most Wanted<br/>[mostwanted.jsp]"]
end

subgraph group_police["Police Operations"]
  node_command_dashboard["Command Dashboard<br/>[adminhome.jsp]"]
  node_case_actions["Case Actions<br/>[takeaction.jsp]"]
  node_chargesheets["Chargesheets<br/>[chargesheet.jsp]"]
  node_prisoner_records["Prisoner Records<br/>[prisonerreg.jsp]"]
  node_criminal_history["Criminal History<br/>[history.jsp]"]
  node_bulletin_management["Bulletin Management<br/>[hotnews.jsp]"]
end

subgraph group_admin["Administration"]
  node_system_manager["System Manager"]
  node_smtp_test["SMTP Diagnostics"]
end

subgraph group_platform["Shared Platform"]
  node_settings_service["Settings Cache"]
  node_db_util["Database Helper<br/>[DBUtil.java]"]
  node_crime_db[("Crime Database<br/>[database_setup.sql]")]
end

node_citizens(("Citizens"))
node_police_admin(("Police &amp; Admin"))
node_mail_server(("SMTP Server"))

node_citizens -->|"browses"| node_public_portal
node_public_portal -->|"opens"| node_crime_reporting
node_public_portal -->|"opens"| node_complaints_fir
node_public_portal -->|"views"| node_safety_bulletins
node_public_portal -->|"searches"| node_missing_registry
node_public_portal -->|"views"| node_wanted_registry
node_citizens -->|"checks status"| node_complaint_tracking
node_police_admin -->|"opens"| node_command_dashboard
node_police_admin -->|"handles cases"| node_case_actions
node_police_admin -->|"records charges"| node_chargesheets
node_police_admin -->|"records inmates"| node_prisoner_records
node_police_admin -->|"reviews history"| node_criminal_history
node_police_admin -->|"manages bulletins"| node_bulletin_management
node_police_admin -->|"configures portal"| node_system_manager
node_system_manager -->|"loads settings"| node_settings_service
node_settings_service -->|"gets connection"| node_db_util
node_db_util -->|"connects"| node_crime_db
node_smtp_test -.->|"tests connection"| node_mail_server

click node_public_portal "https://github.com/amanprojects-ops/crimestationmanagement/blob/main/web/index.jsp"
click node_crime_reporting "https://github.com/amanprojects-ops/crimestationmanagement/blob/main/web/crimereport.jsp"
click node_complaints_fir "https://github.com/amanprojects-ops/crimestationmanagement/blob/main/web/complaint.jsp"
click node_complaint_tracking "https://github.com/amanprojects-ops/crimestationmanagement/blob/main/web/complaintstatus.jsp"
click node_safety_bulletins "https://github.com/amanprojects-ops/crimestationmanagement/blob/main/web/latestnews.jsp"
click node_missing_registry "https://github.com/amanprojects-ops/crimestationmanagement/blob/main/web/missingperson.jsp"
click node_wanted_registry "https://github.com/amanprojects-ops/crimestationmanagement/blob/main/web/mostwanted.jsp"
click node_command_dashboard "https://github.com/amanprojects-ops/crimestationmanagement/blob/main/web/adminhome.jsp"
click node_case_actions "https://github.com/amanprojects-ops/crimestationmanagement/blob/main/web/takeaction.jsp"
click node_chargesheets "https://github.com/amanprojects-ops/crimestationmanagement/blob/main/web/chargesheet.jsp"
click node_prisoner_records "https://github.com/amanprojects-ops/crimestationmanagement/blob/main/web/prisonerreg.jsp"
click node_criminal_history "https://github.com/amanprojects-ops/crimestationmanagement/blob/main/web/history.jsp"
click node_bulletin_management "https://github.com/amanprojects-ops/crimestationmanagement/blob/main/web/hotnews.jsp"
click node_system_manager "https://github.com/amanprojects-ops/crimestationmanagement/blob/main/web/admin_system_manager.jsp"
click node_smtp_test "https://github.com/amanprojects-ops/crimestationmanagement/blob/main/web/smtp_test_action.jsp"
click node_settings_service "https://github.com/amanprojects-ops/crimestationmanagement/blob/main/src/java/com/crimeportal/SettingsService.java"
click node_db_util "https://github.com/amanprojects-ops/crimestationmanagement/blob/main/src/java/com/crimeportal/DBUtil.java"
click node_crime_db "https://github.com/amanprojects-ops/crimestationmanagement/blob/main/database_setup.sql"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_public_portal,node_crime_reporting,node_complaints_fir,node_complaint_tracking,node_safety_bulletins,node_missing_registry,node_wanted_registry toneBlue
class node_command_dashboard,node_case_actions,node_chargesheets,node_prisoner_records,node_criminal_history,node_bulletin_management toneAmber
class node_system_manager,node_smtp_test,node_mail_server toneMint
class node_settings_service,node_db_util,node_crime_db toneRose
class node_citizens,node_police_admin toneIndigo
```

## Components

### Citizen Services

- [Public Portal](https://github.com/amanprojects-ops/crimestationmanagement/blob/main/web/index.jsp): `web/index.jsp`
- [Crime Reporting](https://github.com/amanprojects-ops/crimestationmanagement/blob/main/web/crimereport.jsp): `web/crimereport.jsp`
- [Complaints & FIR](https://github.com/amanprojects-ops/crimestationmanagement/blob/main/web/complaint.jsp): `web/complaint.jsp`
- [Complaint Tracking](https://github.com/amanprojects-ops/crimestationmanagement/blob/main/web/complaintstatus.jsp): `web/complaintstatus.jsp`
- [Safety Bulletins](https://github.com/amanprojects-ops/crimestationmanagement/blob/main/web/latestnews.jsp): `web/latestnews.jsp`
- [Missing Persons](https://github.com/amanprojects-ops/crimestationmanagement/blob/main/web/missingperson.jsp): `web/missingperson.jsp`
- [Most Wanted](https://github.com/amanprojects-ops/crimestationmanagement/blob/main/web/mostwanted.jsp): `web/mostwanted.jsp`

### Police Operations

- [Command Dashboard](https://github.com/amanprojects-ops/crimestationmanagement/blob/main/web/adminhome.jsp): `web/adminhome.jsp`
- [Case Actions](https://github.com/amanprojects-ops/crimestationmanagement/blob/main/web/takeaction.jsp): `web/takeaction.jsp`
- [Chargesheets](https://github.com/amanprojects-ops/crimestationmanagement/blob/main/web/chargesheet.jsp): `web/chargesheet.jsp`
- [Prisoner Records](https://github.com/amanprojects-ops/crimestationmanagement/blob/main/web/prisonerreg.jsp): `web/prisonerreg.jsp`
- [Criminal History](https://github.com/amanprojects-ops/crimestationmanagement/blob/main/web/history.jsp): `web/history.jsp`
- [Bulletin Management](https://github.com/amanprojects-ops/crimestationmanagement/blob/main/web/hotnews.jsp): `web/hotnews.jsp`

### Administration

- [System Manager](https://github.com/amanprojects-ops/crimestationmanagement/blob/main/web/admin_system_manager.jsp): `web/admin_system_manager.jsp`
- [SMTP Diagnostics](https://github.com/amanprojects-ops/crimestationmanagement/blob/main/web/smtp_test_action.jsp): `web/smtp_test_action.jsp`

### Shared Platform

- [Settings Cache](https://github.com/amanprojects-ops/crimestationmanagement/blob/main/src/java/com/crimeportal/SettingsService.java): `src/java/com/crimeportal/SettingsService.java`
- [Database Helper](https://github.com/amanprojects-ops/crimestationmanagement/blob/main/src/java/com/crimeportal/DBUtil.java): `src/java/com/crimeportal/DBUtil.java`
- [Crime Database](https://github.com/amanprojects-ops/crimestationmanagement/blob/main/database_setup.sql): `database_setup.sql`

### Other components

- **Citizens**
- **Police & Admin**
- **SMTP Server**

## Connections

- Citizens → Public Portal: browses
- Public Portal → Crime Reporting: opens
- Public Portal → Complaints & FIR: opens
- Public Portal → Safety Bulletins: views
- Public Portal → Missing Persons: searches
- Public Portal → Most Wanted: views
- Citizens → Complaint Tracking: checks status
- Police & Admin → Command Dashboard: opens
- Police & Admin → Case Actions: handles cases
- Police & Admin → Chargesheets: records charges
- Police & Admin → Prisoner Records: records inmates
- Police & Admin → Criminal History: reviews history
- Police & Admin → Bulletin Management: manages bulletins
- Police & Admin → System Manager: configures portal
- System Manager → Settings Cache: loads settings
- Settings Cache → Database Helper: gets connection
- Database Helper → Crime Database: connects
- SMTP Diagnostics → SMTP Server: tests connection
