An admin portal is generated as MVC source code in your project, not a hosted QuickCode SaaS panel. It includes CRUD for your tables, Live Reports from DSL Query operations (including Print & export with column layout and PDF/CSV), group-based authorization, table-level permissions, and configurable endpoint workflows. Declare BLOB_IMAGE, BLOB_PDF, BLOB_VIDEO, and BLOB_FILE columns in DBML to get upload fields, list actions, and in-app preview (image lightbox, PDF iframe, HTML5 video). Files are stored as HTTPS object URLs (Azure Blob, S3-compatible storage such as Cloudflare R2, or local files in development), not binary in the database. IdentityModule handles users, roles, and API/portal access; do not duplicate it in your modules.
Table management
Manage records through auto-generated portal screens tied to your DBML tables.
Access control
API method grants and portal page permissions from centralized management screens.
File and media columns
Use BLOB_IMAGE for photos and logos, BLOB_PDF for datasheets, BLOB_VIDEO for product or intro videos, and BLOB_FILE for other documents. The portal generates upload controls, size limits, and Preview actions without custom UI code.
Object storage backends
Configure Azure Blob Storage, any S3-compatible provider (including Cloudflare R2), or local file storage for development. The same pipeline applies to all BLOB_* column types.
Live Reports
DSL Query operations appear in the portal as Live Reports. Set parameters, click Run Report, and scan the result grid. The matching GET API path is shown on the page. Use Print & export to choose columns, set % widths, reorder fields, then download PDF/CSV or print with a live page preview.
Dynamic menus & permission groups
Portal navigation and permission groups follow your modules. LIST / DETAILS / INSERT / UPDATE / DELETE grants apply at page and API level.
Ops screens
Health, Swagger, and logging/ops entry points ship with the generated portal so day-two work starts in your repo.