How brijeshsrivdev/storysprout works
StorySprout is a browser-based kids video creation studio backed by a Spring API and renderer service. Its supported workflow runs from creating a project and story through outline, character and scene setup, then composition editing and render-job handling. The README calls composition JSON the source of truth. Source excerpts substantiate several API service handoffs; the web page and renderer are only sampled narrowly, so web-to-API routing and renderer-job execution are not asserted as verified calls.
Main entry points: EditorService.java Editor Service · StoryRepository.java Story Store · StoryOutlineService.java Story Outline · SceneSetupService.java Scene Setup
Components 23
Web Studio
- Web Studio
apps/web/app/page.tsx - API Client
apps/web/lib/api.ts
Story Content API
- Projects & Stories
apps/api/src/main/java/com/storysprout/api/story/StoryService.java - Story Store
apps/api/src/main/java/com/storysprout/api/story/StoryRepository.java - Characters
apps/api/src/main/java/com/storysprout/api/character/CharacterService.java - Character Store
apps/api/src/main/java/com/storysprout/api/character/CharacterRepository.java - Story Outline
apps/api/src/main/java/com/storysprout/api/outline/StoryOutlineService.java - Outline Store
apps/api/src/main/java/com/storysprout/api/outline/OutlineSceneRepository.java - Scene Setup
apps/api/src/main/java/com/storysprout/api/scene/SceneSetupService.java - Setup Store
apps/api/src/main/java/com/storysprout/api/scene/SceneSetupRepository.java - AI Generators
apps/api/src/main/java/com/storysprout/api/ai/infrastructure/google
Composition Editor
- Editor Service
apps/api/src/main/java/com/storysprout/api/editor/EditorService.java - Composition Store
apps/api/src/main/java/com/storysprout/api/editor/CompositionRepository.java - Editor Model
packages/editor-model/src/index.ts - Composition Preview
apps/web/lib/preview.ts
Rendering
- Render Jobs
apps/api/src/main/java/com/storysprout/api/render/RenderJobService.java - Render Job Store
apps/api/src/main/java/com/storysprout/api/render/RenderJobRepository.java - Renderer Client
apps/api/src/main/java/com/storysprout/api/render/RendererClient.java - Renderer Service
services/renderer/src/server.ts - Render Engine
services/renderer/src/render.ts - Artifact Storage
apps/api/src/main/java/com/storysprout/api/render/MinioObjectStorage.java
Other components
- Studio User
- MinIO
Connections 28
- Studio User → Web Studio: creates stories
apps/web/app/page.tsx - Web Studio → API Client: requests data
apps/web/app/page.tsx - Projects & Stories → Story Store: reads and writes
apps/api/src/main/java/com/storysprout/api/story/StoryService.java - Projects & Stories → AI Generators: generates drafts
apps/api/src/main/java/com/storysprout/api/story/StoryService.java - Story Outline → Story Store: loads stories
apps/api/src/main/java/com/storysprout/api/outline/StoryOutlineService.java - Story Outline → Outline Store: manages scenes
apps/api/src/main/java/com/storysprout/api/outline/StoryOutlineService.java - Story Outline → Setup Store: deletes setups
apps/api/src/main/java/com/storysprout/api/outline/StoryOutlineService.java - Story Outline → AI Generators: generates outlines
apps/api/src/main/java/com/storysprout/api/outline/StoryOutlineService.java - Characters → Story Store: loads stories
apps/api/src/main/java/com/storysprout/api/character/CharacterService.java - Characters → Character Store: manages characters
apps/api/src/main/java/com/storysprout/api/character/CharacterService.java - Characters → AI Generators: suggests characters
- Scene Setup → Story Store: loads stories
apps/api/src/main/java/com/storysprout/api/scene/SceneSetupService.java - Scene Setup → Outline Store: loads scenes
apps/api/src/main/java/com/storysprout/api/scene/SceneSetupService.java - Scene Setup → Character Store: checks membership
apps/api/src/main/java/com/storysprout/api/scene/SceneSetupService.java - Scene Setup → Setup Store: saves setup
apps/api/src/main/java/com/storysprout/api/scene/SceneSetupService.java - Editor Service → Story Store: loads story
apps/api/src/main/java/com/storysprout/api/editor/EditorService.java - Editor Service → Outline Store: loads outline
apps/api/src/main/java/com/storysprout/api/editor/EditorService.java - Editor Service → Setup Store: loads setup
apps/api/src/main/java/com/storysprout/api/editor/EditorService.java - Editor Service → Character Store: loads characters
apps/api/src/main/java/com/storysprout/api/editor/EditorService.java - Editor Service → Composition Store: opens composition
apps/api/src/main/java/com/storysprout/api/editor/EditorService.java - Composition Preview → Editor Model: uses model
apps/web/lib/preview.ts - Render Jobs → Editor Service: loads composition
apps/api/src/main/java/com/storysprout/api/render/RenderJobService.java - Render Jobs → Render Job Store: queues and tracks
apps/api/src/main/java/com/storysprout/api/render/RenderJobService.java - Render Jobs → Renderer Client: dispatches job
apps/api/src/main/java/com/storysprout/api/render/RenderJobService.java - Render Jobs → Artifact Storage: stores artifact
apps/api/src/main/java/com/storysprout/api/render/RenderJobService.java - Artifact Storage → MinIO: stores objects
- Renderer Service → Render Engine: renders request
services/renderer/src/server.ts - Renderer Client → Renderer Service: calls service