Como criar seu próprio portfólio

Este guia mostra como clonar o repositório github.com/pvitorv/portfolio, configurar o ambiente e criar o banco de dados para rodar o projeto na sua máquina.

1. Requisitos

  • PHP 8.2+
  • Composer
  • Node.js e npm (para compilar CSS/JS com Vite; opcional no início)
  • Git
  • Banco de dados: MySQL 8+, PostgreSQL ou SQLite

2. Clonar o repositório

Abra o terminal na pasta onde deseja criar o projeto e execute:

git clone https://github.com/pvitorv/portfolio.git
cd portfolio

3. Instalar dependências PHP

composer install

4. Configurar o ambiente

Copie o arquivo de exemplo e gere a chave da aplicação:

cp .env.example .env
php artisan key:generate

Edite o arquivo .env e ajuste pelo menos:

  • APP_NAME – nome do seu portfólio
  • APP_URL – ex.: http://localhost:8000
  • As variáveis de banco de dados (DB_*) conforme a seção abaixo.

5. Criar o banco de dados

Escolha uma das opções abaixo.

Opção A: MySQL / MariaDB

No MySQL (client ou phpMyAdmin), crie o banco e o usuário (se precisar):

CREATE DATABASE portfolio CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- Opcional: criar usuário
-- CREATE USER 'portfolio'@'localhost' IDENTIFIED BY 'sua_senha';
-- GRANT ALL ON portfolio.* TO 'portfolio'@'localhost';
-- FLUSH PRIVILEGES;

No .env:

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=portfolio
DB_USERNAME=root
DB_PASSWORD=

Opção B: SQLite

Crie o arquivo do banco e ajuste o .env:

touch database/database.sqlite
DB_CONNECTION=sqlite
# DB_DATABASE=absolute/path/to/database/database.sqlite
# Ou deixe em branco: Laravel usa database/database.sqlite por padrão

Opção C: PostgreSQL

No terminal (ou pgAdmin):

createdb portfolio

No .env:

DB_CONNECTION=pgsql
DB_HOST=127.0.0.1
DB_PORT=5432
DB_DATABASE=portfolio
DB_USERNAME=postgres
DB_PASSWORD=

6. Rodar as migrations

Isso cria as tabelas (usuários, projetos, cache, filas, etc.):

php artisan migrate

7. Criar seu usuário (admin)

O primeiro usuário do sistema é o “perfil” exibido na página inicial. Crie-o pelo Artisan Tinker:

php artisan tinker

Dentro do Tinker, execute (troque nome, e-mail e senha pelos seus):

\App\Models\User::create([
    'name' => 'Seu Nome',
    'email' => 'seu@email.com',
    'password' => bcrypt('sua-senha-segura'),
]);

Digite exit para sair do Tinker.

8. Assets (opcional)

Para compilar CSS e JavaScript com Vite (Tailwind e Alpine):

npm install
npm run build

Se não rodar npm run build, o projeto usa Tailwind e Alpine via CDN (fallback já configurado no layout).

9. Subir o servidor e acessar

php artisan serve

Abra no navegador:

No admin você pode editar seu perfil (nome, foto, título, bio, redes sociais) e gerenciar os projetos exibidos na página inicial.

Resumo dos comandos

git clone https://github.com/pvitorv/portfolio.git
cd portfolio
composer install
cp .env.example .env
php artisan key:generate
# Criar o banco (MySQL/PostgreSQL/SQLite) e configurar DB_* no .env
php artisan migrate
php artisan tinker
# Dentro do tinker: \App\Models\User::create([...]);
npm install && npm run build   # opcional
php artisan serve

Repositório: github.com/pvitorv/portfolio