3D Model Viewer
Creative Tools · React + Node (Express) · 14 @molecule/* packages
Sketchfab-like 3D model viewer with WebGL, rotate, annotate, and embed
Try it
Opens instantly. Runs on sample data, so changes reset on reload.
What is inside
Screens (14)
- Landing
/ - Login
/login - Signup
/signup - ForgotPassword
/forgot-password - ResetPassword
/reset-password - Dashboard
/dashboard(signed in) - ModelLibrary
/models(signed in) - ModelViewer
/models/:id(signed in) - Upload
/upload(signed in) - Embed
/models/:id/embed(signed in) - Settings
/settings(signed in) - Annotations
/models/:id/annotations(signed in) - ModelEdit
/models/:id/edit(signed in) - Notifications
/notifications(signed in)
Data model (9 tables)
- activity_feed — id, user_id, model_id, action, metadata, created_at
- annotations — id, user_id, model_id, title, description, x, y, z, …
- comments — id, resourceType, resourceId, userId, parentId, body, editedAt, createdAt, …
- devices — id, createdAt, updatedAt, userId, name, pushPlatform, pushSubscription, hasPushSubscription
- embeds — id, user_id, model_id, width, height, auto_rotate, show_annotations, theme, …
- models — id, user_id, name, description, file_url, file_size, format, thumbnail_url, …
- notifications — id, user_id, type, body, href, unread, created_at
- resource_tags — id, tagId, resourceType, resourceId, createdAt
- tags — id, name, slug, color, description, createdAt, updatedAt
API (7 handlers)
- activity
api/src/handlers/activity.ts - annotations
api/src/handlers/annotations.ts - auth
api/src/handlers/auth.ts - avatar
api/src/handlers/avatar.ts - embeds
api/src/handlers/embeds.ts - models
api/src/handlers/models.ts - notifications
api/src/handlers/notifications.ts
Subscription tiers
free / pro / team — gated by: maxAnnotations, maxEmbeds, maxModels, advancedFeatures, canExport, retentionDays
Built from 14 @molecule/* packages
@molecule/api-database-postgresql@molecule/api-image-sharp@molecule/api-resource-comment@molecule/api-resource-tag@molecule/api-resource-user@molecule/api-search-meilisearch@molecule/api-uploads-s3@molecule/app-command-palette@molecule/app-data-table@molecule/app-file-upload@molecule/app-gallery@molecule/app-keyboard-shortcuts@molecule/app-kpi-card-react@molecule/app-virtual-scroll
Required secrets
DATABASE_URLPostgreSQL connection stringS3_BUCKETS3 bucket for model storage
The @molecule/* packages are Apache-2.0. The app you build from this template is yours to export and self-host. Licensing