How rbarcoma/my-portfolio works
This is a Laravel/Inertia portfolio site: visitors browse profile, skills, experience, projects and GitHub activity, with a contact form as its principal write workflow. Laravel routes dispatch to controllers, which provide Inertia pages or JSON; the React app renders those pages. Contact submissions are validated, stored and notified. GitHub statistics are fetched and cached, with a signed push webhook invalidating activity data. Several frontend page/controller pairings and configuration details are not shown in excerpts, so their links are omitted rather than inferred.
Main entry points: web.php Web routes · HomeController.php Home controller · ProjectController.php Project controller · ContactController.php Contact controller
Components 31
Web presentation
- Home page
resources/js/Pages/Home.jsx - Project pages
resources/js/Pages/Projects/Index.jsx - About page
resources/js/Pages/About.jsx - Experience page
resources/js/Pages/Experience.jsx - Skills page
resources/js/Pages/Skills.jsx - Contact page
resources/js/Pages/Contact.jsx - Project detail
resources/js/Pages/Projects/Show.jsx - Inertia React app
resources/js/app.jsx - Root layout
resources/js/Layouts/RootLayout.jsx
Portfolio content
- Home controller
app/Http/Controllers/HomeController.php - Project controller
app/Http/Controllers/ProjectController.php - About controller
app/Http/Controllers/AboutController.php - Experience controller
app/Http/Controllers/ExperienceController.php - Skills controller
app/Http/Controllers/SkillsController.php - CV controller
app/Http/Controllers/CvController.php - Portfolio data
config/portfolio.php - Project data
config/projects.php
Contact workflow
- Contact controller
app/Http/Controllers/ContactController.php - Contact validation
app/Http/Requests/StoreContactMessageRequest.php - Contact messages
app/Models/ContactMessage.php - Contact notification
app/Notifications/ContactMessageReceived.php
GitHub integration
- GitHub panel
resources/js/Components/sections/GitHubPanel.jsx - GitHub stats hook
resources/js/hooks/useGithubStats.js - GitHub endpoints
app/Http/Controllers/GithubController.php - GitHub service
app/Services/GitHubService.php
Laravel runtime
- Web routes
routes/web.php - Inertia middleware
app/Http/Middleware/HandleInertiaRequests.php - Application bootstrap
bootstrap/app.php - HTML shell
resources/views/app.blade.php
Other components
- Visitor
- GitHub API
Connections 24
- Visitor → Web routes: requests pages
routes/web.php - Web routes → Home controller: dispatches
routes/web.php - Web routes → Project controller: dispatches
routes/web.php - Web routes → Contact controller: dispatches
routes/web.php - Web routes → GitHub endpoints: dispatches
routes/web.php - Home controller → GitHub service: loads stats
app/Http/Controllers/HomeController.php - Home controller → Home page: renders
app/Http/Controllers/HomeController.php - Home controller → Portfolio data: reads portfolio data
app/Http/Controllers/HomeController.php - Home controller → Project data: reads project data
app/Http/Controllers/HomeController.php - Project controller → Project data: reads project data
app/Http/Controllers/ProjectController.php - Project controller → Project detail: renders detail
app/Http/Controllers/ProjectController.php - Project controller → Project pages: renders index
app/Http/Controllers/ProjectController.php - About controller → GitHub service: loads stats
app/Http/Controllers/AboutController.php - Inertia React app → Root layout: mounts
resources/js/app.jsx - Root layout → GitHub panel: not evidenced
- GitHub panel → GitHub stats hook: reads stats
resources/js/Components/sections/GitHubPanel.jsx - Contact controller → Contact validation: validates submission
app/Http/Controllers/ContactController.php - Contact controller → Contact messages: creates message
app/Http/Controllers/ContactController.php - Contact controller → Contact notification: sends notification
app/Http/Controllers/ContactController.php - GitHub endpoints → GitHub service: handles stats and webhook
app/Http/Controllers/GithubController.php - GitHub service → GitHub API: requests profile and activity
app/Services/GitHubService.php - Application bootstrap → Web routes: registers routes
bootstrap/app.php - Application bootstrap → Inertia middleware: appends middleware
bootstrap/app.php - Inertia React app → HTML shell: entry relationship unverified