# MVC-Starter - Project Overview **Date:** 2026-03-11T11:59:39Z **Type:** web **Architecture:** Server-rendered MVC monolith ## Executive Summary MVC-Starter is a RouteKit Classic ASP starter for building server-rendered MVC applications on Windows IIS. It combines a shared framework/runtime layer in `core/` with application-specific controllers and views in `app/`, and supports database-backed features through Access and VBScript-based scaffolding. ## Project Classification - **Repository Type:** monolith - **Project Type(s):** web - **Primary Language(s):** VBScript, Classic ASP - **Architecture Pattern:** Starter/framework hybrid MVC monolith ## Technology Stack Summary - Runtime: Classic ASP on IIS - Routing/dispatch: RouteKit-style router and MVC dispatcher - Data: ADO + Microsoft Access - UI: Bootstrap CDN + server-rendered ASP views - Tooling: Windows Script Host VBScript scripts ## Key Features - Front-controller request flow through `public/Default.asp` - Controller whitelist and dynamic dispatch in `core/mvc.asp` - Shared header/footer layout for page rendering - Generator-assisted migrations, repositories, and controllers - Included starter pages for home and 404 handling ## Architecture Highlights - Single deployable web app - Clear split between runtime/framework code and app-specific code - Config-driven behavior through `public/web.config` - Manual but structured development workflow through scripts and route/controller wiring ## Development Overview ### Prerequisites - Windows + IIS + Classic ASP - IIS URL Rewrite - Microsoft Access Database Engine - `cscript` for tooling ### Getting Started Point IIS at `public/`, update `public/web.config`, then validate the home page loads. Use the provided VBScript generators to create migrations, repositories, and controllers for new features. ### Key Commands - **Generate migration:** `cscript //nologo scripts\generateMigration.vbs create_my_table` - **Generate repo:** `cscript //nologo scripts\GenerateRepo.vbs /table:my_table /pk:id` - **Generate controller:** `cscript //nologo scripts\generateController.vbs MyController "Index;Show(id)"` - **Run migrations:** `cscript //nologo scripts\runMigrations.vbs status` ## Repository Structure `public/` is the web entry surface, `core/` is the framework/runtime layer, `app/` is the application layer, `db/` contains database assets, and `scripts/` contains operational tooling. ## Documentation Map - [index.md](./index.md) - [architecture.md](./architecture.md) - [source-tree-analysis.md](./source-tree-analysis.md) - [development-guide.md](./development-guide.md)