Skip to content
This repository was archived by the owner on Jun 18, 2026. It is now read-only.

Commit d75643f

Browse files
author
Zalenix Gardener
committed
docs: refresh stale counts in README and ARCHITECTURE
Catch up the documentation with the current state of the codebase: README.md - 175 source classes -> 192 (176 in gvisual/ + 7 in app/); production LOC ~55K -> ~83,700; total LOC 100K+ -> ~133,000+. - gvisual package: 145 -> 169 classes; '57 analyzers' -> '58 analyzers'. - Badge: 57 Analyzers -> 58 Analyzers. ARCHITECTURE.md - Project layout: gvisual is now 169 classes (was 73), and the '46 analyzers + 21 utilities' line replaced with the actual breakdown (58 analyzers + 11 engines + 3 advisors + 16 exporters + 7 panel controllers + ~70 utilities). - Analyzer overview paragraph: '46 analyzer classes and 21 utility/ infrastructure classes (67 non-Main classes)' -> accurate component counts plus the 169/7 totals. - Main.java: 2399 lines -> 927, with a note explaining the drop (controllers and engines were extracted in recent refactors). - Test tree count clarified: 129 in gvisual/ (133 total including app/). Counts verified by: Get-ChildItem -Recurse -Filter *.java | Measure-Object Line grep '@test' for the 4,644 figure wc -l on Main.java for the 927 figure
1 parent 66a5701 commit d75643f

2 files changed

Lines changed: 9 additions & 9 deletions

File tree

ARCHITECTURE.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,22 +8,22 @@ This document describes the source structure, design patterns, and key component
88
GraphVisual/
99
├── Gvisual/
1010
│ ├── src/
11-
│ │ ├── gvisual/ # Visualization + analysis (73 classes)
11+
│ │ ├── gvisual/ # Visualization + analysis (169 classes)
1212
│ │ │ ├── Main.java # Swing GUI — graph panel, timeline, controls
1313
│ │ │ ├── edge.java # Edge model (type, vertices, weight, label, timestamps)
1414
│ │ │ ├── EdgeType.java # Enum — relationship categories, colors, defaults
1515
│ │ │ ├── GraphStats.java # Network metrics (density, degree, hubs)
1616
│ │ │ ├── GraphMLExporter.java # GraphML XML export
1717
│ │ │ ├── GraphGenerator.java # Synthetic graph topologies
18-
│ │ │ └── [46 analyzers + 21 utilities — see below]
18+
│ │ │ └── [58 analyzers + 100+ engines, advisors, exporters, controllers, utilities — see below]
1919
│ │ └── app/ # Data pipeline — DB → edge files
2020
│ │ ├── Network.java # SQL → edge-list generation
2121
│ │ ├── Util.java # Database connection factory
2222
│ │ ├── findMeetings.java # Bluetooth events → meeting extraction
2323
│ │ ├── addLocation.java # WiFi-based meeting location classification
2424
│ │ └── matchImei.java # Device → IMEI mapping
2525
│ ├── test/
26-
│ │ ├── gvisual/ # 129 test classes (~4,640+ tests total)
26+
│ │ ├── gvisual/ # 129 test classes (~4,640+ tests total — 133 total including app/)
2727
│ │ └── app/ # Pipeline utility tests (4 test classes)
2828
│ ├── lib/ # JUNG 2.0.1, PostgreSQL JDBC, Java3D, Commons IO
2929
│ └── images/ # UI icons (play, pause, stop, legend colors)
@@ -34,7 +34,7 @@ GraphVisual/
3434

3535
## Analyzers
3636

37-
The analysis engine consists of 46 analyzer classes and 21 utility/infrastructure classes (67 non-Main classes). Each analyzer follows the same pattern:
37+
The analysis engine consists of **58 analyzer classes**, **11 engines**, **3 advisors**, **16 exporters**, **7 panel controllers**, and ~70 additional utility/infrastructure classes (169 total in the `gvisual` package, plus 7 in `app/`). Each analyzer follows the same pattern:
3838

3939
1. Constructor takes a `Graph<String, edge>` (JUNG graph)
4040
2. Validates input (null check → `IllegalArgumentException`)
@@ -119,7 +119,7 @@ The analysis engine consists of 46 analyzer classes and 21 utility/infrastructur
119119
| `GraphUtils` | Shared graph traversal utilities: adjacency maps, BFS, components, shortest paths, betweenness centrality. |
120120
| `InteractiveHtmlExporter` | Exports graphs as self-contained interactive HTML files using D3.js force simulation. |
121121
| `LaplacianBuilder` | Constructs various Laplacian matrices (standard, normalized, signless) from a JUNG graph. |
122-
| `Main` | Swing application entry point (2399 lines) — graph panel, timeline, toolbar, statistics, centrality rankings. |
122+
| `Main` | Swing application entry point (927 lines) — graph panel, timeline, toolbar, statistics, centrality rankings. Heavy logic has been progressively extracted into dedicated panel controllers (`*PanelController`) and engines. |
123123
| `SubgraphExtractor` | Extracts focused subgraphs based on vertex criteria, k-hop neighborhoods, or edge filters. |
124124
| `TemporalGraph` | Lightweight JUNG graph wrapper providing time-windowed views for temporal network analysis. |
125125

@@ -180,7 +180,7 @@ See [DATABASE.md](DATABASE.md) for full schema documentation.
180180

181181
## GUI (Main.java)
182182

183-
`Main.java` (2399 lines) is the Swing application entry point. Key components:
183+
`Main.java` (927 lines, down from ~2,400 after the controller/engine extraction refactor) is the Swing application entry point. Key components:
184184

185185
| Component | Description |
186186
|-----------|-------------|

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ Built with Java and [JUNG](http://jung.sourceforge.net/) (Java Universal Network
2121
[![Release](https://img.shields.io/github/v/release/sauravbhattacharya001/GraphVisual?logo=github)](https://github.com/sauravbhattacharya001/GraphVisual/releases/latest)
2222
[![Open Issues](https://img.shields.io/github/issues/sauravbhattacharya001/GraphVisual)](https://github.com/sauravbhattacharya001/GraphVisual/issues)
2323
[![Contributors](https://img.shields.io/github/contributors/sauravbhattacharya001/GraphVisual)](https://github.com/sauravbhattacharya001/GraphVisual/graphs/contributors)
24-
[![57 Analyzers](https://img.shields.io/badge/Analyzers-57-blueviolet)](ALGORITHMS.md)
24+
[![58 Analyzers](https://img.shields.io/badge/Analyzers-58-blueviolet)](ALGORITHMS.md)
2525
[![Publish](https://github.com/sauravbhattacharya001/GraphVisual/actions/workflows/publish.yml/badge.svg)](https://github.com/sauravbhattacharya001/GraphVisual/actions/workflows/publish.yml)
2626
[![Dependabot](https://img.shields.io/badge/Dependabot-enabled-025E8C?logo=dependabot)](https://github.com/sauravbhattacharya001/GraphVisual/blob/master/.github/dependabot.yml)
2727
[![4,600+ Tests](https://img.shields.io/badge/Tests-4600%2B-brightgreen)](Gvisual/test/)
@@ -66,11 +66,11 @@ The tool was developed for research on **social network analysis** — specifica
6666

6767
## Architecture
6868

69-
GraphVisual consists of 175 source classes (~55,000+ lines of production code, 100,000+ total with tests), 58 graph analyzers, and a Bluetooth-to-graph data pipeline. See **[ARCHITECTURE.md](ARCHITECTURE.md)**, **[ALGORITHMS.md](ALGORITHMS.md)**, and **[TESTING.md](TESTING.md)** for full details including the analyzer reference table, design patterns, dependency map, and testing guide.
69+
GraphVisual consists of 192 source classes (176 in `gvisual/` + 7 in `app/`; ~83,700 lines of production code, ~133,000+ total with tests), 58 graph analyzers (plus engines, advisors, exporters, and panel controllers), and a Bluetooth-to-graph data pipeline. See **[ARCHITECTURE.md](ARCHITECTURE.md)**, **[ALGORITHMS.md](ALGORITHMS.md)**, and **[TESTING.md](TESTING.md)** for full details including the analyzer reference table, design patterns, dependency map, and testing guide.
7070

7171
```
7272
Gvisual/src/
73-
├── gvisual/ # 145 classes — GUI, edge model, 57 analyzers, utilities
73+
├── gvisual/ # 169 classes — GUI, edge model, 58 analyzers, engines, exporters, controllers, utilities
7474
│ ├── Main.java # Swing GUI — graph panel, timeline, controls
7575
│ ├── edge.java # Edge model (type, vertices, weight, label)
7676
│ ├── EdgeType.java # Enum — relationship categories, colors, defaults

0 commit comments

Comments
 (0)