| @@ -0,0 +1,114 @@ | |||
| # tracking_kits | |||
| Classic ASP (VBScript) web app for managing **Mail Tracking Kits**. | |||
| At a high level, this app helps you: | |||
| - Browse/search **Jurisdictions** (by JCode, name, address, IMB fields) | |||
| - Create/print tracking kits / labels tied to a jurisdiction | |||
| - View existing kits and related job types (Purple Envelope jobs, Custom Office Copies) | |||
| - Run an import service that pulls tracking export files into the database | |||
| > Entry point: `index.asp` redirects into the MVC controller: `App/Controllers/Home/HomeController.asp` | |||
| --- | |||
| ## How the app works | |||
| ### Architecture | |||
| - **Classic ASP + MVC helpers**: The app uses a lightweight MVC framework under `/MVC`. | |||
| - **Controllers/Views/ViewModels** live under `/App`. | |||
| - **Repositories** under `/App/DomainModels` handle database access. | |||
| - `App/include_all.asp` loads MVC + DAL + repositories. | |||
| ### Key routes / screens | |||
| - `/` → `index.asp` → redirects to `App/Controllers/Home/HomeController.asp` | |||
| - **Switchboard (home)**: `HomeController.Index` | |||
| - Links to: | |||
| - Create Kit | |||
| - View Tracking Kits | |||
| - View Purple Envelope Jobs | |||
| - Custom Office Copies | |||
| - **Create Kit**: `HomeController.CreateKit` | |||
| - Paged list of jurisdictions | |||
| - Search box (posts to `HomeController.Search`) | |||
| - Each row has an action button that routes to `KitController.createTrackingKit` for the selected `JCode` | |||
| - **Search**: `HomeController.Search` | |||
| - Searches across jurisdiction fields: `JCode`, `Name`, `Mailing_Address`, `CSZ`, `IMB`, `IMB_Digits` | |||
| - **Print (label report demo)**: `HomeController.Print` | |||
| - Uses ReportMan ActiveX to render a `.rep` report and save to a PDF. | |||
| --- | |||
| ## Data + dependencies | |||
| ### Database | |||
| - Data access is via `App/DAL/lib.DAL.asp` (ADO) + repositories in `App/DomainModels/*Repository.asp`. | |||
| Key repositories referenced in `App/include_all.asp`: | |||
| - `JurisdictionRepository` | |||
| - `KitRepository` | |||
| - `KitLabelsRepository` | |||
| - `InkjetRecordsRepository` | |||
| - `SettingsRepository` | |||
| - `ContactsRepository` | |||
| - `SnailWorksRepository` | |||
| - `CustomOfficeCopyJobRepository` | |||
| - `ColorsRepository` | |||
| ### Config | |||
| - `App/app.config.asp` | |||
| - Initializes routes with `Routes.Initialize "/App/"` | |||
| - Sets `siteTitle = "Mail Tracking Kits"` | |||
| - Sets `ExportDirectory` based on the `dev` flag | |||
| ### External/ActiveX dependencies | |||
| This repo includes Windows/ActiveX dependencies under `/Dependancies` (examples): | |||
| - Chilkat ActiveX DLLs (license/unlock in `App/app.config.asp`) | |||
| - ReportMan OCX | |||
| - Debenu PDF Library ActiveX | |||
| - NSSM + PsExec utilities | |||
| --- | |||
| ## Running locally (IIS) | |||
| ### Requirements | |||
| - Windows + IIS with Classic ASP enabled | |||
| - The ActiveX dependencies must be installed/registered if you use printing/export features | |||
| ### IIS setup | |||
| - Point the IIS site root at the repo root (so `index.asp` is the default document). | |||
| - Ensure Classic ASP is enabled. | |||
| The repo includes a basic `web.config` that sets `index.asp` as the default document. | |||
| --- | |||
| ## Import service | |||
| There is an import script/service under: | |||
| - `ImportService/TrackingDataImport.vbs` | |||
| And a helper installer: | |||
| - `InstallService.vbs` | |||
| These are intended to run on Windows to import tracking export data from the configured `ExportDirectory`. | |||
| --- | |||
| ## Dev tooling | |||
| ### Docker (Codex dev container) | |||
| This repo includes a `docker-compose.yml` and `Dockerfile` meant for a Codex development container. | |||
| It does **not** run IIS inside Docker; it’s a dev environment for working on the code. | |||
| --- | |||
| ## Where to look next | |||
| - UI: `App/Views/Home/*` | |||
| - Controller logic: `App/Controllers/Home/HomeController.asp` | |||
| - Jurisdiction data access: `App/DomainModels/JurisdictionRepository.asp` | |||
| - Printing/report templates: `/Data/*.rep` | |||
Powered by TurnKey Linux.