How josedelacruz81/portafolio works
This repository is a single-page personal portfolio for a software developer and IT analyst. The runtime mounts the app, which composes navigation, an introduction, biography, skills, project portfolio, contact form, and footer. Visitors navigate between sections, review filtered projects and contact links, or submit the form; the shown contact submission is simulated rather than connected to a backend. Theme state is managed by a hook and persisted in browser localStorage. The graph follows explicit imports and calls; no separate server or durable application data store is evidenced.
Main entry points: App.jsx Page composition · Navbar.jsx Navigation bar · main.jsx React entry · useDarkMode.jsx Theme state
Components 12
Page assembly
- React entry
src/main.jsx - Page composition
src/App.jsx
Portfolio sections
- Introduction
src/sections/Hero.jsx - Biography
src/sections/About.jsx - Skills overview
src/sections/Skills.jsx - Project portfolio
src/sections/Projects.jsx - Contact form
src/sections/Contact.jsx - Social footer
src/components/Footer.jsx
Navigation and theme
- Navigation bar
src/components/Navbar.jsx - Theme state
src/hooks/useDarkMode.jsx
Other components
- Portfolio visitor
- Browser storage
Connections 14
- Portfolio visitor → React entry: opens
- React entry → Page composition: renders
src/main.jsx - Page composition → Navigation bar: renders
src/App.jsx - Page composition → Introduction: renders
src/App.jsx - Page composition → Biography: renders
src/App.jsx - Page composition → Skills overview: renders
src/App.jsx - Page composition → Project portfolio: renders
src/App.jsx - Page composition → Contact form: renders
src/App.jsx - Page composition → Social footer: renders
src/App.jsx - Navigation bar → Theme state: uses
src/components/Navbar.jsx - Theme state → Browser storage: reads and writes
src/hooks/useDarkMode.jsx - Portfolio visitor → Navigation bar: navigates
- Portfolio visitor → Project portfolio: filters projects
- Portfolio visitor → Contact form: submits form