Portfólio profissional de desenvolvimento de software com estética Neobrutalista monocromática, suporte a modo claro/escuro, páginas dedicadas para projetos com renderização Markdown e arquitetura desacoplada gerenciada via Notion como Headless CMS com deploy estático automatizado no GitHub Pages.
- Framework Web: Next.js 16 (App Router com Turbopack)
- Linguagem: TypeScript (tipagem estrita)
- Estilização: Tailwind CSS v4 (design Neobrutalista monocromático de alto contraste)
- CMS Headless: Notion API (gerenciamento de projetos, bio, stacks, contatos e formação)
- Hospedagem & CI/CD: GitHub Pages com GitHub Actions agendadas (Cron) para compilação estática (
output: 'export') - Containerização: Docker e Docker Compose prontos para execução de ambientes isolados
-
Gestão 100% via Notion (Sem tocar no código para atualizar conteúdo):
- Tabela Projetos: Catálogo de projetos com links de repositório, showcase, status e tags.
- Páginas Detalhadas (
/projetos/[slug]): Corpo do Notion convertido diretamente em Markdown com suporte a embeds de vídeo. - Tabela Stacks: Categorias técnicas dinâmicas (Frontend, Backend, DevOps, etc.).
- Tabela Educação: Formação acadêmica e cursos complementares.
- Tabela Contato: Links sociais e canal principal de e-mail.
- Tabela Dados: Bio da página inicial, manifesto e princípios fundamentais.
-
Resiliência e Fallback Local-First:
- Se a API do Notion estiver inacessível ou sem credenciais no momento da build, o site utiliza automaticamente cópias locais em cache JSON (
src/data/*.json), garantindo que a aplicação nunca quebre em produção.
- Se a API do Notion estiver inacessível ou sem credenciais no momento da build, o site utiliza automaticamente cópias locais em cache JSON (
-
Automação de Deploy (GitHub Actions):
- O workflow
.github/workflows/deploy.ymlcompila e publica o site automaticamente a cadagit pushe também de forma agendada via Cron (duas vezes ao dia) para buscar novos dados do Notion.
- O workflow
git clone https://github.com/ericksantos2/ericksantos2.github.io.git
cd ericksantos2.github.io
npm installCrie um arquivo .env (ou .env.local) na raiz do projeto com as chaves e IDs das suas tabelas do Notion:
NOTION_API_KEY=ntn_seu_token_aqui
NOTION_DATABASE_ID=id_da_tabela_projetos
NOTION_DADOS_DATABASE_ID=id_da_tabela_dados
NOTION_CONTATO_DATABASE_ID=id_da_tabela_contato
NOTION_STACKS_DATABASE_ID=id_da_tabela_stacks
NOTION_EDUCACAO_DATABASE_ID=id_da_tabela_educacao
NOTION_EXPERIENCIAS_DATABASE_ID=id_da_tabela_experienciasnpm run sync:notionnpm run devAcesse http://localhost:3000.
npm run buildOs arquivos estáticos finais serão gerados na pasta out/.
Se preferir rodar a aplicação em um container Docker:
docker compose up --buildA aplicação estará disponível em http://localhost:3000.
Este projeto está sob a licença MIT.