How abhishek2006-create/codevyaas works
CodeVyaas combines a browser coding workspace with a separate Docker-backed execution service. The primary flow is editing code, requesting execution, and viewing output or errors; the product also provides a WebContainer project playground, saved/shared snippets, AI debugging, authentication, and subscription features. Sampled source confirms the editor store calls the Judge API directly, while a separate Next.js execution route also proxies requests to it. Convex and several product branches are represented from the tree and README; their detailed call wiring was not sampled.
Main entry points: EditorPanel.tsx Code editor · useCodeEditorStore.ts Editor state · dockerRunner.js Docker runner · playground-client.tsx Workspace client
Components 26
Code execution
- Code editor
src/app/(root)/_components/EditorPanel.tsx - Editor state
src/store/useCodeEditorStore.ts - Execution proxy
src/app/api/execute/route.ts - Judge API
codevyaas-judge-api/src/server.js - Docker runner
codevyaas-judge-api/src/dockerRunner.js - Language support
codevyaas-judge-api/src/languages.js - Results panel
src/app/(root)/_components/OutputPanel.tsx - Docker runtime
Project playground
- Playground
src/app/(root)/playground/[id]/page.tsx - Workspace client
src/app/(root)/playground/components/playground-client.tsx - File explorer
src/app/(root)/playground/hooks/useFileExplorer.tsx - Container setup
src/app/(root)/playground/webcontainers/hooks/useWebContainer.ts - WebContainer service
src/app/(root)/playground/webcontainers/service/webContainerService.ts - Template endpoint
src/app/api/template/[template]/route.ts - Starter templates
src/templates/react/src/App.jsx
Snippets and profiles
- Snippet data
convex/snippets.ts - Snippet pages
src/app/snippets/page.tsx - User profile
src/app/profile/page.tsx - Convex schema
convex/schema.ts
Identity and plans
- Clerk identity
src/components/providers/ConvexClientProvider.tsx - User data
convex/users.ts - Pricing interface
src/app/pricing/page.tsx - Billing integration
convex/lemonSqueezy.ts
AI assistance
- Debug assistant
src/app/api/chat/route.ts - Ollama model
Other components
- Developer
Connections 27
- Developer → Code editor: writes code
- Code editor → Editor state: updates editor
- Editor state → Judge API: submits code
- Editor state → Results panel: updates results
- Code editor → Execution proxy: posts code
- Execution proxy → Judge API: forwards request
- Judge API → Docker runner: dispatches execution
- Docker runner → Language support: checks language
- Docker runner → Docker runtime: runs code
- Developer → Playground: opens workspace
- Playground → Workspace client: loads workspace
- Workspace client → File explorer: manages files
- Workspace client → Container setup: starts preview
- Container setup → WebContainer service: sets up container
- Developer → Template endpoint: requests template
- Template endpoint → Starter templates: loads starter
- Developer → Snippet pages: browses snippets
- Snippet pages → Snippet data: snippet operations
- Snippet data → Convex schema: uses schema
- Developer → User profile: views profile
- User profile → User data: user operations
- User data → Convex schema: uses schema
- Developer → Clerk identity: authenticates
- Developer → Pricing interface: views plans
- Pricing interface → Billing integration: initiates upgrade
- Developer → Debug assistant: requests debugging
- Debug assistant → Ollama model: sends context