How amr-ma7moud/room-portfolio works
This is an interactive escape-room portfolio: visitors explore a spatial room, open portfolio panels, and can use an in-room terminal. The graph follows the documented room-to-panel workflow and sampled terminal behavior, while retaining documented tour, map, and hidden-terminal features. Source excerpts are partial, and the README references a portfolio data file not present in the supplied tree; details and wiring for those unsampled areas are therefore limited.
Main entry points: index.tsx Room route · Terminal.tsx Terminal interface · ProjectsPanel.tsx Projects panel · server.ts Request server
Components 26
Room experience
- Room route
src/routes/index.tsx - Room hitboxes
src/components/room/Hitbox.tsx - Glass modal
src/components/room/GlassModal.tsx - Navigation dock
src/components/room/NavDock.tsx - Room map
src/components/room/MapOverlay.tsx - Spotlight tour
src/components/room/SpotlightTour.tsx
Portfolio panels
- About panel
src/components/room/panels/AboutPanel.tsx - Resume panel
src/components/room/panels/ResumePanel.tsx - Skills panel
src/components/room/panels/SkillsPanel.tsx - Projects panel
src/components/room/panels/ProjectsPanel.tsx - Project detail
src/components/room/panels/ProjectDetail.tsx - Project images
src/data/projectImages.ts - Certificates panel
src/components/room/panels/CertificatesPanel.tsx - Testimonials panel
src/components/room/panels/TestimonialsPanel.tsx - Contact panel
src/components/room/panels/ContactPanel.tsx
Interactive terminal
- Terminal interface
src/components/room/Terminal.tsx - Virtual filesystem
src/components/room/terminal/fs.ts - Command helpers
src/components/room/terminal/commands.ts - Snake game
src/components/room/terminal/SnakeGame.tsx - Matrix effect
src/components/room/terminal/CMatrix.tsx
Contact and runtime
- Contact action
src/actions/contact.ts - Email template
src/actions/email-template.tsx - Request server
src/server.ts - Error capture
src/lib/error-capture.ts - Error page
src/lib/error-page.ts
Other components
- Visitor
Connections 24
- Visitor → Room route: opens portfolio
- Room route → Room hitboxes: renders hotspots
- Room route → Navigation dock: renders controls
- Room route → Room map: opens map
- Room route → Spotlight tour: starts tour
- Room hitboxes → Room route: selects panel
- Room route → Glass modal: shows overlay
- Room route → About panel: loads panel
- Room route → Resume panel: loads panel
- Room route → Skills panel: loads panel
- Room route → Projects panel: loads panel
- Room route → Certificates panel: loads panel
- Room route → Testimonials panel: loads panel
- Room route → Contact panel: loads panel
- Projects panel → Project detail: shows selection
- Project images → Projects panel: resolves images
- Room route → Terminal interface: opens terminal
- Terminal interface → Virtual filesystem: resolves paths
- Terminal interface → Command helpers: uses helpers
- Terminal interface → Snake game: renders game
- Terminal interface → Matrix effect: renders effect
- Visitor → Contact action: submits message
- Request server → Error capture: consumes captured error
- Request server → Error page: renders failure page