How raphaelamonteiro/portfolio works
This is a bilingual personal portfolio site. A visitor enters through the shared Next.js layout, navigates portfolio sections, and reads profile, skills, project, experience, and service content; the About page also presents hobbies. The sampled source confirms shared translation/theme providers and the About page’s data usage. Other routes and shared components are represented from the tree and README, so their internal wiring is not inferred.
Main entry points: TranslationContext.tsx Translation context · layout.tsx Shared layout · about/page.tsx About profile · app/page.tsx Home page
Components 19
Site shell
- Shared layout
app/layout.tsx - Navigation header
app/components/header.tsx - Site footer
app/components/footer.tsx - Theme toggle
app/components/ui/theme-switcher/toggle.tsx - Particle background
app/components/stars.tsx
Portfolio content
- Home page
app/page.tsx - About profile
app/about/page.tsx - Projects
app/projects/page.tsx - Experience
app/experience/page.tsx - Services
app/services/page.tsx - Contact
app/contact/page.tsx - Hobby carousel
app/components/ui/hobbies/hobby-carousel.tsx
Presentation state
- Translation context
contexts/TranslationContext.tsx - Theme provider
app/theme-provider.tsx
Portfolio data
- English strings
locales/en-US.ts - Portuguese strings
locales/pt-BR.ts - Technology lists
app/data/techStack.ts - Resume documents
public/docs
Other components
- Visitor
Connections 23
- Visitor → Shared layout: opens site
- Shared layout → Navigation header: renders
- Shared layout → Site footer: renders
- Shared layout → Translation context: provides translations
- Shared layout → Theme provider: provides theme
- Visitor → Home page: visits
- Visitor → About profile: visits
- Visitor → Projects: visits
- Visitor → Experience: visits
- Visitor → Services: visits
- Visitor → Contact: visits
- About profile → Translation context: reads content
- Projects → Translation context: reads content
- Experience → Translation context: reads content
- Services → Translation context: reads content
- Contact → Translation context: reads content
- Translation context → English strings: selects strings
- Translation context → Portuguese strings: selects strings
- About profile → Technology lists: reads lists
- About profile → Hobby carousel: renders carousel
- Theme toggle → Theme provider: changes theme
- Home page → Particle background: uses background
- About profile → Resume documents: links resume