How tunsopheak/my-portfolio-tun-sopheak works
This repository is a personal developer portfolio: visitors browse the home page and its project, activity, and achievement content. Its documented capabilities include data-driven project details, an EmailJS contact form, persistent dark/light mode, and scroll-spy navigation. The graph shows those product branches and the content/configuration layer; several source files, including the page and component implementations, were not sampled, so their internal call relationships are not inferred.
Main entry points: projects/index.astro Project Listings · projects/[id].astro Project Details · activities/index.astro Activity Listings · activities/[id].astro Activity Details
Components 18
Visitor Experience
- Home Page
src/pages/index.astro - Project Listings
src/pages/projects/index.astro - Project Details
src/pages/projects/[id].astro - Activity Listings
src/pages/activities/index.astro - Activity Details
src/pages/activities/[id].astro - Achievements
src/pages/achievements/index.astro
Portfolio Content
- Project Data
src/data/projects.js - Activity Data
src/data/activities.js - Achievement Data
src/data/achievements.js - Content Types
src/data/types.ts - Drive Asset URLs
src/config/assets.ts
Shared Presentation
- Base Layout
src/layouts/BaseLayout.astro - Navigation
src/components/Header.astro - Footer
src/components/Footer.astro - Back To Top
src/components/BackToTop.astro - Theme Styles
src/styles/global.css
External Services
- EmailJS
Other components
- Visitor
Connections 15
- Visitor → Home Page: visits
README.md - Visitor → Project Listings: browses
README.md - Visitor → Project Details: opens details
README.md - Visitor → Activity Listings: browses
README.md - Visitor → Activity Details: opens details
README.md - Visitor → Achievements: views
README.md - Project Listings → Project Data: renders from
README.md - Project Details → Project Data: routes from
README.md - Activity Listings → Activity Data: presents
- Activity Details → Activity Data: presents
- Achievements → Achievement Data: presents
- Achievement Data → Drive Asset URLs: gets PDF URL
src/data/achievements.js - Visitor → EmailJS: sends message
README.md - Visitor → Navigation: uses theme toggle
README.md - Navigation → Theme Styles: applies theme