Customer portal and order tracking
Blueprint for a customer database with internal order tracking and a distinct customer portal — the first example from What is Bobuild?.
Goals
- Employees manage customers and orders in a backoffice
- Customers log in and see only their orders
- Status changes can notify the customer by e-mail
Data model
| Object | Key fields |
|---|---|
| Customer | name, email, password (portal login), active (Yes/no) |
| Product | name, sku, price |
| Order | customer (Reference → Customer), status (Choice: Placed / Paid / Shipped / Cancelled), placed_at (Date and Time), notes (Long Text) |
| OrderLine (optional) | order (Reference), product (Reference), quantity (Number), unit_price (Number) |
| Operator | email, password, name, roles (Multiple choice) |
Prefer OrderLine when you need quantities; a Reference Array of products on Order is enough for a minimal demo.
Portals
| Portal | Login | Contents |
|---|---|---|
| Backoffice | Operator | Customers grid, Orders grid, Product catalogue, charts |
| Customer area | Customer (active = true) | “My orders” grid filtered to the logged-in customer, order detail, optional profile form |
Set the default portal in Pages so the bare domain opens the right entry point.
Key widgets and tasks
- Backoffice → Orders grid — filters by status; batch task “Mark shipped” for selected rows.
- Order detail — Detail widget + form to update
status/notes. - Form task on status update — when status becomes
Shipped, send e-mail to{customer.email}. - Customer area — grid of Order where
customeris the logged-in user (use login context / filters available in the Builder for the current user). - Optional public catalogue page without login, linking into registration.
Security notes
- Never put operator passwords on the Customer object.
- Hide
notesmeant for staff from the customer detail layout. - Use login rules so inactive customers cannot enter.
See Security overview.
Build order
- Objects and sample data
- Backoffice grids and forms
- Customer login + “my orders”
- Shipping notification task
- Snapshot, then polish menus and branding
Related
- Hands-on warm-up: Request portal tutorial
- Recipes: Sum of prices, Priced dropdown, Line total, Discount tiers
- Tasks for richer status automations