How shekhar143542/visora_ai_ppt_maker works
Visora is a web app for creating and editing slide presentations. The main workflow is to open a presentation, edit its slides and theme, and save project changes; users can also generate presentations with AI or import PowerPoint/PDF files, then export presentations in several formats. The graph captures the presentation editor, project persistence, AI, import, and export branches. Import routing and parser calls are excerpted; several other connections are based on the SOURCE INDEX. Export routes are represented as capabilities, but their consumers are not established by the available evidence.
Main entry points: page.tsx Presentation page · route.ts Import processing · project.ts Project actions · Editor.tsx Slide editor
Components 20
Projects and persistence
- Project actions
src/actions/project.ts - Prisma database client
src/lib/prisma.ts
Presentation creation
- AI generation
src/actions/chatgpt.ts
Presentation editor
- Presentation page
src/app/(protected)/presentation/[presentationId]/page.tsx - Slide state
src/store/useSlideStore.tsx - Slide editor
src/app/(protected)/presentation/[presentationId]/_components/editor/Editor.tsx - Content renderer
src/app/(protected)/presentation/[presentationId]/_components/editor/MasterRecursiveComponent.tsx - Paragraph component
src/components/global/editor/components/Paragraph.tsx - Editor navigation
src/app/(protected)/presentation/[presentationId]/_components/Navbar/Navbar.tsx - Editor sidebars
src/app/(protected)/presentation/[presentationId]/_components/editor-sidebar/rightsidebar/index.tsx - Theme selection
src/app/(protected)/presentation/[presentationId]/select-theme/_components/ThemePicker.tsx
Import and export
- Import upload
src/app/api/import/upload/route.ts - Import processing
src/app/api/import/process/route.ts - PowerPoint parser
src/lib/pptxParser.ts - Simple PowerPoint parser
src/lib/simplePptxParser.ts - Basic PowerPoint parser
src/lib/basicPptxParser.ts - Debug PowerPoint parser
src/lib/debugPptxParser.ts - PDF parser
src/lib/pdfParser.ts - Presentation downloads
src/app/api/download
Other components
- User
Connections 18
- Presentation page → Project actions: loads projects
src/app/(protected)/presentation/[presentationId]/page.tsx - Presentation page → Slide state: sets slide state
src/app/(protected)/presentation/[presentationId]/page.tsx - Presentation page → Slide editor: renders editor
src/app/(protected)/presentation/[presentationId]/page.tsx - Presentation page → Editor navigation: renders navigation
src/app/(protected)/presentation/[presentationId]/page.tsx - Presentation page → Editor sidebars: renders sidebar
src/app/(protected)/presentation/[presentationId]/page.tsx - Presentation page → AI generation: invokes generation
src/app/(protected)/presentation/[presentationId]/page.tsx - Project actions → Prisma database client: reads and writes
src/actions/project.ts - Slide editor → Content renderer: renders content
- Content renderer → Paragraph component: renders paragraphs
src/app/(protected)/presentation/[presentationId]/_components/editor/MasterRecursiveComponent.tsx - User → Presentation page: opens presentation
- User → Import upload: uploads file
- Import upload → Import processing: passes uploaded file
- Import processing → Basic PowerPoint parser: tries first
src/app/api/import/process/route.ts - Import processing → Simple PowerPoint parser: fallback parse
src/app/api/import/process/route.ts - Import processing → PowerPoint parser: fallback parse
src/app/api/import/process/route.ts - Import processing → PDF parser: may parse
src/app/api/import/process/route.ts - Import processing → Project actions: creates and updates
src/app/api/import/process/route.ts - User → Presentation downloads: requests export