How firat-o/portfolio works
This repository is a personal portfolio website with a contact-form email endpoint. Visitors enter through the React app, browse portfolio and profile content, and can submit a message that the API validates and sends through Resend. The tree and sampled source support the routes, contact flow, and notification plumbing; Home’s internal composition was not sampled, so its section connections reflect the component structure indicated by filenames rather than inspected imports.
Main entry points: Home.jsx Portfolio home · App.jsx React application · ContactSection.jsx Contact form · toaster.jsx Toast container
Components 22
Application and routes
- React application
src/App.jsx - Portfolio home
src/pages/Home.jsx - Impressum page
src/pages/Impressum.jsx - Privacy page
src/pages/Privacy.jsx - Not found page
src/pages/NotFound.jsx
Portfolio content
- About section
src/components/AboutSection.jsx - Developer section
src/components/DevSection.jsx - Skills section
src/components/SkillsSection.jsx - Projects section
src/components/ProjectsSection.jsx - CV document
public/projects/Firato_CV.pdf
Contact and messaging
- Contact form
src/components/ContactSection.jsx - Email endpoint
api/send.js - Toast state hook
src/hooks/use-toast.js - Toast container
src/components/ui/toaster.jsx - Toast primitives
src/components/ui/toast.jsx
Shared presentation
- Navigation bar
src/components/Navbar.jsx - Site footer
src/components/Footer.jsx - Visual effects
src/components/StarBackground.jsx - Custom cursor
src/components/CustomCursor.jsx - Theme toggle
src/components/ThemeToggle.jsx
Other components
- Site visitor
- Resend email service
Connections 22
- Site visitor → React application: opens
- React application → Portfolio home: routes to
- React application → Impressum page: routes to
- React application → Privacy page: routes to
- React application → Not found page: routes to
- Portfolio home → About section: presents
- Portfolio home → Developer section: presents
- Portfolio home → Skills section: presents
- Portfolio home → Projects section: presents
- Portfolio home → Contact form: presents
- Projects section → CV document: links to
- Contact form → Email endpoint: POSTs form
- Email endpoint → Resend email service: sends email
- Contact form → Toast state hook: raises notifications
- Toast container → Toast state hook: reads toast state
- Toast container → Toast primitives: renders
- React application → Toast container: mounts
- React application → Custom cursor: mounts
- Portfolio home → Navigation bar: presents
- Portfolio home → Site footer: presents
- Portfolio home → Visual effects: presents
- Portfolio home → Theme toggle: presents