# tracking_kits - Component Inventory **Date:** 2026-03-13 ## Controllers ### Home - [../App/Controllers/Home/HomeController.asp](../App/Controllers/Home/HomeController.asp) - Responsibilities: - Render the switchboard - Search jurisdictions - Start the create-kit flow - Demo PDF/report generation ### Kit - [../App/Controllers/Kit/KitController.asp](../App/Controllers/Kit/KitController.asp) - Responsibilities: - Kit switchboard pages - Purple-envelope operational screens - Kit edit/update flows - Label PDF export - SnailWorks export generation - Color assignment and related POST actions ### Other Domain Controllers - `JurisdictionController` - `InkjetRecordsController` - `ContactsController` - `SettingsController` - `CustomOfficeCopyJobController` - `KitLabelsController` These appear to follow the same CRUD-oriented MVC pattern used elsewhere in the app. ## Repository Components ### Core Repositories - `JurisdictionRepository` - `KitRepository` - `KitLabelsRepository` - `InkjetRecordsRepository` - `SettingsRepository` - `ContactsRepository` - `SnailWorksRepository` - `CustomOfficeCopyJobRepository` - `ColorsRepository` ### Shared Characteristics - Model classes and repository classes live in the same file. - SQL is embedded directly in repository methods. - Pagination, search, and mapping are implemented per repository. - Repositories are exposed through singleton-style factory functions. ## View Models View models under `App/ViewModels/` shape data for server-side rendering. Notable classes are used for: - paged index screens - switchboard screens - per-domain CRUD forms - purple envelope and inkjet workflows ## UI Surfaces ### Shared Layout - [../App/Views/Shared/layout.header.asp](../App/Views/Shared/layout.header.asp) - [../App/Views/Shared/layout.footer.asp](../App/Views/Shared/layout.footer.asp) ### Home Screens - switchboard index - create kit - create tracking kit ### Kit Screens - kit CRUD pages - switchboard list/edit pages - purple envelope switchboard list/edit pages ### Other Screens - jurisdiction CRUD/import pages - contacts CRUD pages - inkjet record CRUD pages - settings CRUD pages - custom office copy job pages ## Shared Framework Components The `MVC/` directory provides reusable infrastructure rather than business-domain components: - routing and dispatch - automapper - HTML helpers - anti-CSRF/security helpers - flash messages and form cache - collections and enumerable helpers - upload, strings, validations, JSON support ## Automation / Batch Components ### Import Service - [../ImportService/TrackingDataImport.vbs](../ImportService/TrackingDataImport.vbs) - Handles polling/status-driven operations outside the web request lifecycle. ### Supporting Scripts - `InstallService.vbs` - `Data/Update_Addresses.ps1` - `App/ScaffoldRepo.vbs` ## Reporting Assets - `Data/Label_Report.rep` - `Data/Proofs.rep` - `Data/Office-Copy-Proof.rep` - `Data/Custom Office Copies Proof.rep` These files are operational assets, not just documentation or samples. Controller and script behavior depends on them. ## Reuse Guidance - New CRUD-style features should follow the existing controller/view/repository/view-model grouping pattern. - Reuse shared layout includes and MVC helpers instead of inventing alternate rendering patterns. - Reuse repository paging/search conventions if extending list screens. - Reuse migration numbering conventions for schema changes. --- _Generated for brownfield analysis._