How harshiit112/harshit_portfolio_3d works
This is a React developer-portfolio site: visitors navigate an introduction, profile, project showcase, and contact form. The main runtime assembles these sections; the contact section submits messages through EmailJS, while the About section uses interactive visual components. Project, experience, and testimonial content is represented in shared constants, though some sections are not currently rendered. The README describes 3D visuals and animation; sampled source confirms a standalone astronaut model component, but does not establish how it is connected to the hero. Connections to unsampled section internals are therefore limited.
Main entry points: App.jsx Portfolio app · Contact.jsx Contact form · About.jsx About section · index.js Portfolio content data
Components 18
Application
- Portfolio app
src/App.jsx - Navigation
src/section/Navbar.jsx
Portfolio content
- Hero section
src/section/Hero.jsx - About section
src/section/About.jsx - Project showcase
src/section/Projects.jsx - Experience section
src/section/Experiences.jsx - Testimonials
src/section/Testimonial.jsx - Portfolio content data
src/constants/index.js - Footer
src/section/Footer.jsx
Interactive visuals
- Interactive globe
src/components/Globe.jsx - Framework display
src/components/Frameworks.jsx - Astronaut model
src/components/Astronaut.jsx - Astronaut asset
public/models/tenhun_falling_spaceman_fanart.glb - Particle backdrop
src/components/Particles.jsx
Contact
- Contact form
src/section/Contact.jsx - EmailJS service
- Submission alert
src/components/Alert.jsx
Other components
- Visitor
Connections 17
- Visitor → Navigation: uses navigation
- Visitor → Contact form: enters message
- Portfolio app → Navigation: renders
- Portfolio app → Hero section: renders
- Portfolio app → About section: renders
- Portfolio app → Project showcase: renders
- Portfolio app → Contact form: renders
- Portfolio app → Footer: renders
- About section → Interactive globe: renders
- About section → Framework display: renders
- Astronaut model → Astronaut asset: loads model
- Contact form → EmailJS service: sends message
- Contact form → Submission alert: shows status
- Contact form → Particle backdrop: renders backdrop
- Project showcase → Portfolio content data: reads project data
- Experience section → Portfolio content data: reads experience data
- Testimonials → Portfolio content data: reads testimonial data