Portfolio pessoal construído com Laravel 13, Tailwind CSS 4 e Livewire 4. Design moderno dark-theme com animações suaves, efeitos glassmorphism e dados do GitHub integrados em tempo real via API.
- 🎨 Dark theme com glassmorphism, gradients animados e dot-grid background
- 📊 GitHub Stats em tempo real — repos, stars, streaks e linguagens via API pública
- 🔥 Streak tracker — contribuições totais, streak atual e maior streak (via demolab)
- ⌨️ Typewriter effect na hero section
- 📱 Totalmente responsivo — mobile-first com menu hamburguer
- 🎯 Scroll reveal com Intersection Observer
- 🃏 Card tilt 3D nos cards de habilidades
- ⚡ Cache inteligente — dados do GitHub cacheados por 1 hora (file driver)
| Camada | Tecnologias |
|---|---|
| Backend | PHP 8.3, Laravel 13, Livewire 4 |
| Frontend | Tailwind CSS 4, Alpine.js, Blade |
| Build | Vite 8, Laravel Vite Plugin |
| Icons | Phosphor Icons |
| APIs | GitHub REST API, Streak Stats API |
├── app/Http/Controllers/
│ └── GitHubController.php # API de stats do GitHub com cache
├── resources/
│ ├── css/app.css # Custom CSS (glassmorphism, animations)
│ ├── js/app.js # Typewriter, scroll reveal, card tilt
│ └── views/
│ ├── layouts/app.blade.php # Layout principal
│ ├── welcome.blade.php # Página única (SPA-like)
│ └── sections/ # Seções modulares
│ ├── hero.blade.php
│ ├── about.blade.php
│ ├── skills.blade.php
│ ├── projects.blade.php
│ ├── experience.blade.php
│ ├── education.blade.php
│ ├── github.blade.php # Stats dinâmicos via Alpine.js
│ ├── contact.blade.php
│ └── navbar.blade.php
├── routes/web.php # Rotas: / e /api/github-stats
└── public/images/ # Assets estáticos
# Clonar o repositório
git clone https://github.com/IrvingSamuel/Portfolio.git
cd Portfolio
# Instalar dependências
composer install
npm install
# Configurar ambiente
cp .env.example .env
php artisan key:generate
# Build dos assets
npm run build
# Iniciar o servidor
php artisan serveAcesse http://localhost:8000
# Modo dev com hot reload
npm run dev
# Em outro terminal
php artisan serve| Rota | Método | Descrição |
|---|---|---|
/ |
GET | Portfolio (página única) |
/api/github-stats |
GET | Dados do GitHub em tempo real (cached 1h) |
Exemplo de resposta /api/github-stats
{
"public_repos": 28,
"followers": 14,
"following": 8,
"total_stars": 4,
"total_forks": 1,
"recent_commits": 0,
"top_languages": [
{ "name": "HTML", "percentage": 39.6 },
{ "name": "JavaScript", "percentage": 25.0 },
{ "name": "Python", "percentage": 23.3 }
],
"total_contributions": 569,
"current_streak": 2,
"longest_streak": 10,
"updated_at": "2026-04-06T..."
}Este projeto está sob a licença MIT.
Feito com ☕ por Irving Samuel