Description
Public Dotabase Roadmaps publish selected Dotabase content to anonymous visitors without mounting the authenticated app. A public shell resolves a publication by slug, applies its theme, renders the same supported browse views through a read-only service adapter, and provides dedicated roadmap item pages. Visitors can react, comment, submit feature requests, verify email when required, and return through durable public URLs.
Read operations use a publication-scoped client, while every generic Dotabase write method in the public adapter fails closed. Engagement travels through a separate public API and boundary, keeping reactions and comments distinct from authenticated row mutation. Rate-limit cooldowns, visitor identity, comment verification, and explicit unavailable states make the anonymous flow operational rather than a static embed.
Selling Points
- Turns an internal Roadmap Dotabase into a shareable product surface without maintaining a second publishing system.
- Reuses proven view renderers while enforcing a strict read-only boundary for anonymous visitors.
- Collects reactions, comments, and feature requests next to the roadmap items that prompted them.
- Supports branded themes and durable item links, making the published surface suitable for customers and stakeholders.
- Handles verification and rate limits within the visitor flow instead of failing with opaque API errors.
User Story
A product team publishes its Roadmap Dotabase and shares the public slug with customers. A visitor filters the roadmap, opens an item page, reacts, leaves a verified comment, and submits a related request. The visitor never receives access to authenticated mutation controls or other workspace content.
Extension Surface
The feature is configurable through publication, chosen views, theme, and engagement settings. apps/web/src/modules/dotabases/public/PublicEmbedShell.tsx resolves and renders the publication, while apps/web/src/modules/dotabases/public/usePublicEmbedTheme.ts applies its appearance. The public adapter supports the existing Dotabase view roster; it does not accept arbitrary visitor-side renderer plugins.
Capabilities & Limits
- Publishes read-only Dotabase views and item pages at anonymous routes.
- Supports theme adaptation, reactions, comments, feature requests, visitor identity, and email verification.
- Enforces read-only generic services while isolating sanctioned engagement writes.
- Limit: only explicitly published content is visible, generic row mutation is unavailable, and engagement remains subject to verification and rate limits.
Implementation Map
apps/web/src/modules/dotabases/public/PublicEmbedShell.tsxapps/web/src/modules/dotabases/public/publicDotabaseServices.tsapps/web/src/modules/dotabases/public/PublicRoadmapItemPage.tsxapps/web/src/modules/dotabases/roadmap/RoadmapCommentsSection.tsxapps/web/src/modules/dotabases/public/RoadmapRequestDialog.tsx