How to Create Custom Database Pages for Your Portal
What Is a Database Page
A database page is a web page that displays data from your DynamoDB tables and lets users interact with it. When a user visits a database page, the system reads records from the configured table, filters them to the logged-in user's account, and renders them as a list or edit form. Users can create new records, update existing ones, and delete records they no longer need.
Database pages are the core building block of every customer portal. A client dashboard might have pages for projects, invoices, and messages. A course portal might have pages for lessons, assignments, and grades. Each page type is its own slug, and you can combine as many as your portal needs.
How Slugs Define Pages
Every database page is driven by a slug, a JSON configuration file that tells the system exactly how to render the page. The slug specifies:
- databaseTable: Which DynamoDB table to query (appData, conversationData, broadcastData, etc.)
- databaseSortkey: The sort key prefix that identifies records for this page
- databaseField: The field within the row that contains the array of items to display
- EditPageSections: The form layout with field types, labels, and validation
- SelectPageDivisions: The list page layout with columns, filters, and sorting
- createFields: Fields shown in the quick-create form
- canCreateNewData / canUpdateData / canDeleteData: Permission flags for each action
Creating a Database Page
Identify the records your users need to see and manage. For example, a project tracker page shows project records with fields like name, status, deadline, and description. List all the fields you want to display and edit.
Most portal data lives in the appData table, which provides one row per user per app. Each row can contain multiple arrays of records in different fields. For specialized data types like contact records, conversation logs, or file storage, you might use broadcastData, conversationData, or other dedicated tables.
Create the JSON slug file that defines your page. You can write it manually using the field type reference, or use the AI admin page builder to generate it from a natural language description. The slug goes in the slugs directory and gets referenced by the portal navigation.
The list view shows all records as a table. In the SelectPageDivisions section, define which fields appear as columns, whether the table is sortable, and whether bulk operations like multi-delete are enabled. You can also set a filter field to group records into collapsible sections.
The edit view is a form that appears when a user clicks on a record. In EditPageSections, define one or more sections, each containing field definitions. Each field has a type (input, textarea, select, checkbox, date, etc.), a label, and a database field name. The system renders the correct form control for each type.
Create a few test records through the portal and verify that the list view displays them correctly, that clicking a record opens the edit form with the right values, and that creating, updating, and deleting records all work as expected.
Available Field Types
The admin system supports a wide range of field types that you can use in your database pages. Standard types include input (text fields), textarea (multi-line text), select (dropdowns), multiple (multi-select), checkbox, radio buttons, and hidden fields. Special types include date pickers, color pickers, CSS editors, HTML editors, file uploads, and more. See the portal setup guide for the complete field type reference.
Create database-driven portal pages with forms, lists, and full CRUD operations. No coding required.
Get Started Free