Este repositório contém o código-fonte do meu site de portfólio pessoal, desenvolvido com Next.js, Tailwind CSS, React e TypeScript. O site é totalmente responsivo e conta com funcionalidades de troca de tema (dark mode e light mode) e internacionalização (troca de idiomas).
- Next.js: Framework React para renderização server-side e geração de sites estáticos.
- Tailwind CSS: Biblioteca de estilos utilitários para construção rápida de interfaces customizadas.
- React: Biblioteca JavaScript para construção de interfaces de usuário.
- TypeScript: Superset de JavaScript que adiciona tipos estáticos ao código.
- i18n: Biblioteca para internacionalização, facilitando a tradução do site para diferentes idiomas.
O projeto segue uma arquitetura baseada em componentes, modular e organizada, facilitando a manutenção e escalabilidade.
/
├── public/ # Arquivos estáticos acessíveis publicamente
│ ├── aurelio_ribeiro.pdf
│ ├── next.svg
│ └── vercel.svg
├── src/
│ ├── app/ # Diretório principal da aplicação (App Router)
│ │ ├── favicon.ico
│ │ ├── globals.css # Estilos globais
│ │ ├── layout.tsx # Layout principal da aplicação
│ │ └── page.tsx # Página inicial
│ ├── assets/ # Recursos estáticos como imagens e dados
│ │ ├── data/ # Dados de projetos e experiências (separados por idioma)
│ │ └── images/ # Imagens e logos
│ ├── components/ # Componentes React reutilizáveis
│ │ ├── sections/ # Componentes que representam seções da página
│ │ └── *.tsx # Componentes individuais (botões, cards, etc.)
│ ├── contexts/ # Contextos React para gerenciamento de estado global
│ │ └── ThemeContext.tsx
│ ├── hooks/ # Hooks React customizados
│ ├── types/ # Definições de tipos TypeScript
│ └── i18nify.ts # Configuração da internacionalização (i18n)
├── locales/ # Arquivos de tradução
│ ├── en.json
│ └── pt.json
├── .gitignore
├── next.config.mjs
├── package.json
├── postcss.config.mjs
├── README.md
├── tailwind.config.ts
└── tsconfig.json
src/app: Utiliza o App Router do Next.js. Olayout.tsxdefine a estrutura visual comum a todas as páginas, e opage.tsxé a página principal.src/assets: Armazena todos os recursos estáticos. As imagens estão emimages, e os dados de projetos e experiências estão emdata, com arquivos separados para cada idioma, permitindo a internacionalização do conteúdo.src/components: Contém todos os componentes React. A subpastasectionsagrupa os componentes maiores que formam as diferentes seções do site (Sobre Mim, Projetos, etc.). Os demais arquivos.tsxsão componentes menores e reutilizáveis, como botões e cards.src/contexts: Centraliza os contextos da aplicação. OThemeContext.tsxé responsável por gerenciar o tema (claro/escuro) em toda a aplicação.src/hooks: Deveria conter hooks customizados, mas atualmente está vazio.src/types: Define as interfaces e tipos TypeScript utilizados no projeto, garantindo a tipagem e a segurança do código.locales: Contém os arquivos JSON com as traduções para os idiomas suportados (inglês e português).public: Armazena arquivos que precisam ser acessados diretamente pela URL, como o PDF do meu currículo.
- Início: Uma apresentação básica sobre mim.
- Sobre Mim: Uma seção que conta um pouco da minha trajetória.
- Experiências: Mostra os lugares onde já trabalhei.
- Projetos: Alguns links dos meus repositórios no GitHub.
- Contatos: Links para LinkedIn, E-mail e WhatsApp e um formulário para envio de e-mail.
- Node.js
- npm ou yarn
git clone https://github.com/aureliodeboa/Portifolio.git
cd PortifolioCom npm:
npm installCom yarn:
yarn installCom npm:
npm run devCom yarn:
yarn devO site estará disponível em http://localhost:3000.
Sinta-se à vontade para fazer um fork deste repositório e enviar pull requests. Toda contribuição é bem-vinda!
Este projeto está licenciado sob a licença MIT.
Contato
Para mais informações, entre em contato através das redes sociais ou envie um e-mail através do formulário no site.
Autor
Aurélio Ribeiro
Desenvolvedor Full-Stack | Entusiasta de Tecnologia