Build a small React + TypeScript application that lets a user list, create, update, and delete Scenes, upload viewer assets to Supabase Storage (local), and integrate the Tech Soft 3D assembly_creator demo as code (no iframes) to preview/edit a scene.
Keep it simple. Make pragmatic choices. The bonus is how you design and structure the app.
A minimal app with three flows:
- Scenes List – show all of your scenes (sorted by
updatedAt) with create/edit/delete. - Scene Editor – allow user to drag parts in the scene and place the model
- Scene Viewer – renders at least one uploaded model via a component you build by integrating Tech Soft 3D's
assembly_creatorcode directly (no iframe), loading files from Supabase Storage URLs.
All viewer files must be stored in local Supabase Storage.
Use Supabase locally for persistence. You decide the table/storage structure, as long as Scenes and their associated files can be created, listed, updated, deleted, and loaded into the viewer.
- React + TypeScript (any setup).
- Supabase (local) only for storing and managing Scenes (name + description + timestamps).
- Viewer: integrate the
assembly_creatorcode directly as a React component and use the sample.scsfiles already included in the HOOPS example. - Delete a scene should remove it from your Supabase data.
- Use the Supabase storage to serve the files
Submit a pull request link to your repository. The PR should contain:
- The full working application.
- A short
README.mdexplaining how to run it.
- Use no iframe for the 3D viewer; integrate
assembly_creatordirectly. - Keep the instructions lean; the focus is your application design and implementation.
- Any model format supported by your
assembly_creatorintegration is acceptable. assembly_creatorGithub repo link https://github.com/techsoft3d/assembly_creator- Hoops Web Viewer Documentation https://docs.techsoft3d.com/hoops/visualize-web/