diff --git a/package.json b/package.json index 34f4741..946726c 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "revz-homepage", - "version": "0.0.0", + "version": "0.1.0", "private": true, "type": "module", "engines": { @@ -48,4 +48,4 @@ "vitest": "^4.0.14", "vue-tsc": "^3.1.5" } -} +} \ No newline at end of file diff --git a/src/components/NavBar.vue b/src/components/NavBar.vue index d23e1db..c5fc929 100644 --- a/src/components/NavBar.vue +++ b/src/components/NavBar.vue @@ -1,7 +1,15 @@ @@ -12,16 +20,12 @@ const theme = useTheme() > {{ $t('nav.home') }} - {{ $t('nav.about') }} + {{ $t('nav.curriculum') }} {{ $t('nav.projects') }} - + {{ $t('nav.about') }} + - {{ $i18n.locale === 'en-US' ? 'PT-BR' : 'EN-US' }} + {{ locale === 'en' ? 'PT-BR' : 'EN-US' }} mdi-translate diff --git a/src/components/PageFooter.vue b/src/components/PageFooter.vue index 865c77a..2142b1e 100644 --- a/src/components/PageFooter.vue +++ b/src/components/PageFooter.vue @@ -1,9 +1,13 @@ + + - © Reverendyz {{ new Date().getFullYear() }} + + © Reverendyz {{ new Date().getFullYear() }} | {{ version }} + diff --git a/src/components/ProjectsCard.vue b/src/components/ProjectsCard.vue index 0e8c310..ce79cb7 100644 --- a/src/components/ProjectsCard.vue +++ b/src/components/ProjectsCard.vue @@ -31,7 +31,12 @@ const props = defineProps<{ {{ props.subtitle }} - + diff --git a/src/i18n.ts b/src/i18n.ts index d096ffb..c2d7269 100644 --- a/src/i18n.ts +++ b/src/i18n.ts @@ -2,8 +2,11 @@ import { createI18n } from 'vue-i18n' import enUS from '@/locales/en-US.json' import ptBR from '@/locales/pt-BR.json' +// Get saved locale from localStorage or default to 'pt' +const savedLocale = localStorage.getItem('locale') || 'pt' + export const i18n = createI18n({ - locale: 'pt', + locale: savedLocale, legacy: false, fallbackLocale: 'en', messages: { diff --git a/src/locales/en-US.json b/src/locales/en-US.json index e6c64a6..221bb6c 100644 --- a/src/locales/en-US.json +++ b/src/locales/en-US.json @@ -13,7 +13,8 @@ "home": "Home", "about": "About", "projects": "Projects", - "theme": "Theme" + "theme": "Theme", + "curriculum": "Curriculum" }, "projects": { "title": "My Projects", @@ -63,5 +64,70 @@ "Bachelor's Degree in Information Systems - FESPPR (2021)", "Postgraduate in Cybersecurity - PUCPR (2025)" ] + }, + "curriculum": { + "title": "Professional Experience", + "subtitle": "My career journey in DevOps and IT", + "current": "Current", + "experience": { + "vwb": { + "position": "IT Architect", + "description": "Leading IT architecture initiatives.", + "highlights": [ + "Developing solution architectures for internal projects and clients", + "Collaborating with cross-functional teams to ensure successful implementation of proposed solutions" + ] + }, + "landis": { + "position": "Sr DevOps Engineer", + "description": "Leading DevOps initiatives and infrastructure management for enterprise solutions.", + "highlights": [ + "Deploy standard environments containing GCP resources as Kubernetes, instances and storage", + "Maintain GitLab pipelines, improving execution time and business logic", + "Developed automation scripts with Bash, Python, and PowerShell to achieve reliable configuration", + "Spread DevOps culture throughout the development team" + ] + }, + "freelancer": { + "position": "DevOps Consultant", + "description": "Providing DevOps consulting services for various clients.", + "highlights": [ + "Responsible for maintaining, deploying, and automating processes", + "Moved applications from private providers to Azure, improving dev team performance with pipelines, automation scripts, and architecture design utilizing Kubernetes and CDN" + ] + }, + "trimble": { + "position": "DevOps Engineer", + "description": "Building and maintaining platform infrastructure to support development teams.", + "highlights": [ + "Maintained pipelines, infrastructure, and built a platform team to help developers thrive", + "Deployed infrastructure using Terraform and Terragrunt", + "Worked with all main cloud providers to deliver the best experience for the development team" + ] + }, + "arauco2": { + "position": "Support Analyst", + "description": "Network administration and infrastructure management.", + "highlights": [ + "Network administrator dealing with firewall rules, network management, Wi-Fi improvement and placement projects", + "Major network configurations related to Azure servers, preparing and segmenting Azure networking for VPN connections" + ] + }, + "arauco1": { + "position": "Administrative Assistant", + "description": "Network and telephony administration.", + "highlights": [ + "Improved and managed telephony and network solutions", + "Managed provider invoices and uploaded information to SAP" + ] + }, + "intern": { + "position": "Intern", + "description": "IT support and device management.", + "highlights": [ + "Managed and fixed computers and devices. Participated actively in a project to update weighing scale software" + ] + } + } } } \ No newline at end of file diff --git a/src/locales/pt-BR.json b/src/locales/pt-BR.json index b9e3146..f0b5c4b 100644 --- a/src/locales/pt-BR.json +++ b/src/locales/pt-BR.json @@ -63,5 +63,70 @@ "Bacharelado em Sistemas de Informação - FESPPR (2021)", "Pós-graduação em Cibersegurança - PUCPR (2025)" ] + }, + "curriculum": { + "title": "Experiência Profissional", + "subtitle": "Minha jornada de carreira em DevOps e TI", + "current": "Atual", + "experience": { + "vwb": { + "position": "Arquiteto de TI", + "description": "Liderando iniciativas de arquitetura de TI.", + "highlights": [ + "Desenvolvimento de arquiteturas de soluções para projetos internos e clientes", + "Colaboração com equipes multifuncionais para garantir a implementação bem-sucedida das soluções propostas" + ] + }, + "landis": { + "position": "Engenheiro DevOps Sênior", + "description": "Liderando iniciativas DevOps e gerenciamento de infraestrutura para soluções empresariais.", + "highlights": [ + "Implantação de ambientes padrão contendo recursos GCP como Kubernetes, instâncias e armazenamento", + "Manutenção de pipelines GitLab, melhorando tempo de execução e lógica de negócios", + "Desenvolvimento de scripts de automação com Bash, Python e PowerShell para alcançar configuração confiável", + "Disseminação da cultura DevOps em toda a equipe de desenvolvimento" + ] + }, + "freelancer": { + "position": "Consultor DevOps", + "description": "Fornecendo serviços de consultoria DevOps para diversos clientes.", + "highlights": [ + "Responsável por manter, implantar e automatizar processos", + "Migração de aplicações de provedores privados para Azure, melhorando o desempenho da equipe de desenvolvimento com pipelines, scripts de automação e design de arquitetura utilizando Kubernetes e CDN" + ] + }, + "trimble": { + "position": "Engenheiro DevOps", + "description": "Construindo e mantendo infraestrutura de plataforma para apoiar equipes de desenvolvimento.", + "highlights": [ + "Manutenção de pipelines, infraestrutura e construção de uma equipe de plataforma para ajudar desenvolvedores a prosperarem", + "Implantação de infraestrutura usando Terraform e Terragrunt", + "Trabalho com todos os principais provedores de nuvem para entregar a melhor experiência para a equipe de desenvolvimento" + ] + }, + "arauco2": { + "position": "Analista de Suporte", + "description": "Administração de redes e gerenciamento de infraestrutura.", + "highlights": [ + "Administrador de rede lidando com regras de firewall, gerenciamento de rede, projetos de melhoria e posicionamento de Wi-Fi", + "Configurações de rede importantes relacionadas a servidores Azure, preparando e segmentando redes Azure para conexões VPN" + ] + }, + "arauco1": { + "position": "Assistente Administrativo", + "description": "Administração de redes e telefonia.", + "highlights": [ + "Melhoria e gerenciamento de soluções de telefonia e rede", + "Gerenciamento de faturas de provedores e carregamento de informações no SAP" + ] + }, + "intern": { + "position": "Estagiário", + "description": "Suporte de TI e gerenciamento de dispositivos.", + "highlights": [ + "Gerenciamento e reparo de computadores e dispositivos. Participação ativa em projeto de atualização de software de balanças" + ] + } + } } } \ No newline at end of file diff --git a/src/router/index.ts b/src/router/index.ts index 1f6c4ad..853aedb 100644 --- a/src/router/index.ts +++ b/src/router/index.ts @@ -1,6 +1,4 @@ -import AboutView from '@/views/AboutView.vue' import HomeView from '@/views/HomeView.vue' -import ProjectsView from '@/views/ProjectsView.vue' import { createRouter, createWebHistory } from 'vue-router' const router = createRouter({ @@ -13,14 +11,19 @@ const router = createRouter({ }, { path: '/about', - component: AboutView, + component: () => import('@/views/AboutView.vue'), name: 'About', }, { path: '/projects', - component: ProjectsView, + component: () => import('@/views/ProjectsView.vue'), name: 'Projects', }, + { + path: '/curriculum', + component: () => import('@/views/CurriculumView.vue'), + name: 'Curriculum', + }, ], }) diff --git a/src/views/CurriculumView.vue b/src/views/CurriculumView.vue new file mode 100644 index 0000000..819bb61 --- /dev/null +++ b/src/views/CurriculumView.vue @@ -0,0 +1,89 @@ + + + + + + + {{ $t('curriculum.title') }} + {{ $t('curriculum.subtitle') }} + + + + + + + {{ item.period }} + + + + + + {{ item.position }} + + {{ $t('curriculum.current') }} + + + + {{ item.company }} + + + {{ item.description }} + + + + mdi-check-circle + + {{ highlight }} + + + + + + + + + + + +
{{ $t('curriculum.subtitle') }}
{{ item.description }}