# tracking_kits - Source Tree Analysis

**Date:** 2026-03-13

## Overview

This repository is organized as a single Classic ASP application plus supporting automation and documentation assets. The web app lives under `App/` and depends on shared infrastructure in `MVC/`, database/report assets in `Data/`, and Windows-specific automation under `ImportService/`.

## Complete Directory Structure

```text
/workspace
|-- index.asp
|-- web.config
|-- README.md
|-- App/
|   |-- app.config.asp
|   |-- include_all.asp
|   |-- Controllers/
|   |-- DAL/
|   |-- DomainModels/
|   |-- ViewModels/
|   `-- Views/
|-- MVC/
|-- Data/
|   |-- Migrations/
|   `-- *.rep / sample assets / sample MDB files
|-- ImportService/
|-- Tests/
|   |-- ASPUnit/
|   `-- Test_*.asp / TestCase_*.asp
|-- Dependancies/
|-- dist/
|-- uploads/
`-- _bmad-output/
```

## Critical Directories

### `App/Controllers`

**Purpose:** HTTP request handling and orchestration.

**Contains:** 8 controller files for `Home`, `Kit`, `Jurisdiction`, `InkjetRecords`, `Contacts`, `Settings`, `CustomOfficeCopyJob`, and `KitLabels`.

**Entry Points:** `App/Controllers/Home/HomeController.asp`, `App/Controllers/Kit/KitController.asp`

### `App/DomainModels`

**Purpose:** Repository layer and model classes.

**Contains:** SQL-backed repositories for jurisdictions, kits, labels, inkjet records, settings, contacts, SnailWorks exports, custom office copy jobs, and colors.

### `App/Views`

**Purpose:** Server-rendered UI templates.

**Contains:** View folders that mirror controllers, plus shared header/footer layout includes.

### `App/DAL`

**Purpose:** Database connectivity and low-level query execution.

**Contains:** `lib.DAL.asp`, the ADO abstraction used by repositories.

### `MVC`

**Purpose:** Shared framework and utility code.

**Contains:** Routing, HTML helpers, CSRF handling, flash messages, automapper, collections, strings, validation, upload, and JSON support.

### `Data/Migrations`

**Purpose:** Database schema evolution.

**Contains:** 20 numbered migration scripts, migration helpers, and bootstrap SQL/scripts.

### `Data`

**Purpose:** Reporting templates and sample data artifacts.

**Contains:** `.rep` templates, images, PDFs, PowerShell utilities, and sample MDB files.

### `ImportService`

**Purpose:** Out-of-band workflow processing.

**Contains:** `TrackingDataImport.vbs` and related service installers for importing, proving, and exporting jobs outside web requests.

### `Tests`

**Purpose:** ASPUnit-based verification.

**Contains:** Test runner, helper tests, and a VBScript harness for import-related behavior.

## Entry Points

- **Main web entry:** [../index.asp](../index.asp)
- **Route bootstrap:** [../App/app.config.asp](../App/app.config.asp)
- **Shared include bootstrap:** [../App/include_all.asp](../App/include_all.asp)
- **Import automation entry:** [../ImportService/TrackingDataImport.vbs](../ImportService/TrackingDataImport.vbs)
- **Test runner entry:** [../Tests/Test_All.asp](../Tests/Test_All.asp)

## File Organization Patterns

- Controllers, view models, views, and repositories are grouped by domain area.
- Most business logic is controller-driven, with repositories focused on persistence and record mapping.
- Shared runtime behavior is hidden in framework includes rather than dependency injection or explicit composition.
- The app uses direct file includes extensively; load order matters.
- Environment configuration is code-based rather than environment-variable based.

## Key File Types

### `.asp`

- **Pattern:** `App/**/*.asp`, `MVC/*.asp`, `Tests/*.asp`
- **Purpose:** Web controllers, views, repositories, framework helpers, and test pages.

### `.vbs`

- **Pattern:** `ImportService/*.vbs`, `App/ScaffoldRepo.vbs`
- **Purpose:** Batch automation and helper tooling.

### `.rep`

- **Pattern:** `Data/*.rep`
- **Purpose:** Report definitions used for proofs and PDF generation.

### `Migration_*.asp`

- **Pattern:** `Data/Migrations/Migration_*.asp`
- **Purpose:** Incremental schema changes implemented in Classic ASP/VBScript.

## Configuration Files

- [../web.config](../web.config) - IIS default document configuration.
- [../App/app.config.asp](../App/app.config.asp) - Route init, UI asset URLs, `dev` mode, export directory, and COM unlock setup.
- [../_bmad/bmm/config.yaml](../_bmad/bmm/config.yaml) - BMAD workflow configuration for documentation generation.

## Notes for Development

- `dist/` and `uploads/` are runtime-facing folders but not the core of the app logic.
- `Dependancies/` is critical for operational parity even though the application code can be read without it.
- Several workflows depend on network shares and Windows paths that are not testable in this workspace.

---

_Generated for brownfield analysis._
