From 449713725247e7e345c44e1ddbac87af038a880b Mon Sep 17 00:00:00 2001 From: Laercio Rios Date: Tue, 1 Oct 2024 21:34:46 -0300 Subject: [PATCH] feat: finish projects page --- src/app/data/projects.ts | 11 ++++- src/app/i18n/locales/en.json | 48 +++++++++++++++------ src/app/i18n/locales/pt.json | 48 +++++++++++++++------ src/app/page.tsx | 8 ++-- src/app/projects/page.module.css | 72 ++++++++++++++++++++++++++++++++ src/app/projects/page.tsx | 63 +++++++++++++++++++++++++++- 6 files changed, 220 insertions(+), 30 deletions(-) diff --git a/src/app/data/projects.ts b/src/app/data/projects.ts index b000fe5..43d0f25 100644 --- a/src/app/data/projects.ts +++ b/src/app/data/projects.ts @@ -12,12 +12,21 @@ interface Project { } export const projects: Project[] = [ + { + title: "libScrapper", + year: "2024", + skills: ["Node.JS", "Typescript", "Web Scraping"], + type: "professional", + bond: "Geodatin", + images: [], + highlight: false, + }, { title: "portfolioV2", link: "https://laerciorios.com/", repository: "https://github.com/LaercioSR/personal-website-v2", year: "2024", - skills: ["Next.Js", "TypeScript"], + skills: ["Next.Js", "TypeScript", "Figma"], type: "personal", images: [], highlight: false, diff --git a/src/app/i18n/locales/en.json b/src/app/i18n/locales/en.json index 4bc6544..954ed53 100644 --- a/src/app/i18n/locales/en.json +++ b/src/app/i18n/locales/en.json @@ -30,7 +30,7 @@ "label": "Fullstack developer focused on NodeJs and React" }, "description": { - "label": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc diam massa, ornare eu bibendum a, venenatis non purus. Sed erat purus, porttitor eu posuere interdum, rutrum a nisl. Maecenas maximus volutpat purus sed posuere. Quisque sit amet nisl eros. Sed mollis diam eu libero sagittis cursus. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Pellentesque quis orci sed orci imperdiet suscipit. Donec cursus leo velit, eget venenatis neque vehicula ut." + "label": "I'm a FullStack developer focused on JavaScript/TypeScript, with experience in Node.js and React.js. I have experience creating Restful APIs with clear and detailed documentation integrated with relational databases like PostgreSQL. I also have experience developing responsive interfaces and implementing efficient development and deployment pipelines (CI/CD) using Docker and GitHub Actions. In addition, I have experience creating unit and integration tests, ensuring the quality and robustness of the applications." } }, "projects": { @@ -65,6 +65,11 @@ "label": "Presentations" } } + }, + "projects": { + "title": { + "label": "FULL PORTFOLIO" + } } }, "data": { @@ -99,7 +104,7 @@ "label": "Remote (Feira de Santana, Brazil)" }, "description": { - "label": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc sit amet egestas diam. Donec eget convallis ex. Cras nec leo risus. Nunc finibus lorem risus, id fermentum urna tempus eu.\n\nDonec id iaculis dui. Nulla sit amet euismod velit. Donec sed quam sit amet elit eleifend elementum. Morbi pellentesque ligula vel faucibus commodo. Aenean rhoncus varius ligula ut cursus. Duis congue pellentesque rutrum." + "label": "The company specializes in developing systems that integrate data intelligence and geoinformation to offer innovative solutions. My main responsibilities involve creating and maintaining Restful APIs with automated integration testing, using Node.js and TypeScript, as well as developing responsive interfaces in web applications, using React. I am also responsible for managing and optimizing databases related to PostgreSQL performing modeling and query enhancement.\n\nIn addition, we develop internal scripts and libraries focused on automating web scraping processes, prioritizing efficiency and reuse. My role also includes configuring and automating CI/CD pipelines with GitHub Actions, facilitating the flow of development and continuous deployment. Participate in meetings with clients to understand their needs and ensure that the solutions provided are aligned with their expectations." } }, "golfarma": { @@ -110,17 +115,36 @@ "label": "Hybrid (Feira de Santana, Brazil)" }, "description": { - "label": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc sit amet egestas diam. Donec eget convallis ex. Cras nec leo risus. Nunc finibus lorem risus, id fermentum urna tempus eu.\n\nDonec id iaculis dui. Nulla sit amet euismod velit. Donec sed quam sit amet elit eleifend elementum. Morbi pellentesque ligula vel faucibus commodo. Aenean rhoncus varius ligula ut cursus. Duis congue pellentesque rutrum." + "label": "The pharmaceutical distributor, focused on the Bahian market, began investing in technology at the end of 2019 to keep up with the transformations in the sector. During my time at the company, I worked on the development, creation, and maintenance of Restful APIs, using PHP (Laravel), ensuring the efficiency and scalability of the implemented solutions.\n\nI was also responsible for managing and maintaining databases with SQL Server and PostgreSQL, ensuring the integrity and performance of the stored information. In addition, I maintained direct contact with customers to understand their needs, solve problems, and ensure the proper implementation of the developed systems." } } }, "projects": { + "types": { + "personal": { + "label": "Personal" + }, + "professional": { + "label": "Professional" + }, + "academic": { + "label": "Academic" + } + }, + "libScrapper": { + "title": { + "label": "Internal Web Scraping Lib" + }, + "description": { + "label": "Library to automate internal web scraping processes. Obtaining data efficiently and reusably for various internal projects." + } + }, "portfolioV2": { "title": { "label": "Personal Website v2" }, "description": { - "label": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc sit amet egestas diam. Donec eget convallis ex. Cras nec leo risus. Nunc finibus lorem risus, id fermentum urna tempus eu." + "label": "The second version of my personal website. The site was developed with the purpose of showcasing my skills and experiences, as well as serving as a portfolio for my projects. I also took the opportunity to apply my design knowledge." } }, "semesterUefs": { @@ -128,7 +152,7 @@ "label": "Semester UEFS" }, "description": { - "label": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc sit amet egestas diam. Donec eget convallis ex. Cras nec leo risus. Nunc finibus lorem risus, id fermentum urna tempus eu." + "label": "Platform with a countdown to the end of the academic semester at UEFS, along with a calendar featuring automatic updates to assist the academic community." } }, "portfolioV1": { @@ -136,7 +160,7 @@ "label": "Personal Website v1" }, "description": { - "label": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc sit amet egestas diam. Donec eget convallis ex. Cras nec leo risus. Nunc finibus lorem risus, id fermentum urna tempus eu." + "label": "First version of my personal website. It is currently outdated." } }, "ondeAssistir": { @@ -144,7 +168,7 @@ "label": "Onde Assistir (Where to Watch)" }, "description": { - "label": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc sit amet egestas diam. Donec eget convallis ex. Cras nec leo risus. Nunc finibus lorem risus, id fermentum urna tempus eu." + "label": "Platform that gathers information on where to watch live football matches, based on services available in Brazil. Developed as an academic project." } }, "ppbio": { @@ -152,7 +176,7 @@ "label": "PPBio" }, "description": { - "label": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc sit amet egestas diam. Donec eget convallis ex. Cras nec leo risus. Nunc finibus lorem risus, id fermentum urna tempus eu." + "label": "Platform featuring a listing of projects for fundraising, focused on the Legal Amazon region. I contributed by developing the API." } }, "rhisa": { @@ -160,7 +184,7 @@ "label": "Rhisa" }, "description": { - "label": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc sit amet egestas diam. Donec eget convallis ex. Cras nec leo risus. Nunc finibus lorem risus, id fermentum urna tempus eu." + "label": "Platform focused on creating a network of researchers working in the Legal Amazon region. I contributed to the development of the API and data scraping." } }, "leadbase": { @@ -168,7 +192,7 @@ "label": "Leadbase" }, "description": { - "label": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc sit amet egestas diam. Donec eget convallis ex. Cras nec leo risus. Nunc finibus lorem risus, id fermentum urna tempus eu." + "label": "Data management platform for pharmacies." } } }, @@ -181,9 +205,9 @@ "label": "XXX SIECOMP" }, "description": { - "label": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc sit amet egestas diam. Donec eget convallis ex. Cras nec leo risus. Nunc finibus lorem risus, id fermentum urna tempus eu.\n\nDonec id iaculis dui. Nulla sit amet euismod velit. Donec sed quam sit amet elit eleifend elementum. Morbi pellentesque ligula vel faucibus commodo. Aenean rhoncus varius ligula ut cursus. Duis congue pellentesque rutrum." + "label": "The talk addressed the importance of learning the basics and making a correlation between cooking and programming. The idea was to show that, just as in cooking, it is necessary to understand the ingredients and their functions to create an elaborate cake, in programming it is necessary to understand the concepts and their applications to create efficient and quality code." } } } } -} +} \ No newline at end of file diff --git a/src/app/i18n/locales/pt.json b/src/app/i18n/locales/pt.json index d85bb20..e88a96f 100644 --- a/src/app/i18n/locales/pt.json +++ b/src/app/i18n/locales/pt.json @@ -30,7 +30,7 @@ "label": "Programador fullstack com foco NodeJs e React" }, "description": { - "label": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc diam massa, ornare eu bibendum a, venenatis non purus. Sed erat purus, porttitor eu posuere interdum, rutrum a nisl. Maecenas maximus volutpat purus sed posuere. Quisque sit amet nisl eros. Sed mollis diam eu libero sagittis cursus. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Pellentesque quis orci sed orci imperdiet suscipit. Donec cursus leo velit, eget venenatis neque vehicula ut." + "label": "Sou desenvolvedor FullStack focado em JavaScript/TypeScript, com experiência em Node.js e React.js.Tenho experiência na criação de APIs Restful com documentações claras e detalhadas, integradas a bancos de dados relacionais como PostgreSQL. Também possuo experiência no desenvolvimento de interfaces responsivas e na implementação de pipelines de desenvolvimento e deploy eficientes (CI/CD), utilizando Docker e GitHub Actions. Além disso, possuo experiência na criação de testes unitários e de integração, garantindo a qualidade e a robustez das aplicações." } }, "projects": { @@ -65,6 +65,11 @@ "label": "Apresentações" } } + }, + "projects": { + "title": { + "label": "PORTFÓLIO COMPLETO" + } } }, "data": { @@ -99,7 +104,7 @@ "label": "Remoto (Feira de Santana - BA)" }, "description": { - "label": "Geodatin - Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc sit amet egestas diam. Donec eget convallis ex. Cras nec leo risus. Nunc finibus lorem risus, id fermentum urna tempus eu.\n\nDonec id iaculis dui. Nulla sit amet euismod velit. Donec sed quam sit amet elit eleifend elementum. Morbi pellentesque ligula vel faucibus commodo. Aenean rhoncus varius ligula ut cursus. Duis congue pellentesque rutrum." + "label": "A empresa é especializada no desenvolvimento de sistemas que integram inteligência de dados e geoinformação para oferecer soluções inovadoras. Minhas principais responsabilidades envolvem a criação e manutenção de APIs Restful com testes de integração automatizados, utilizando Node.js e TypeScript, além do desenvolvimento de interfaces responsivas em aplicações web, usando React. Também sou responsável pelo gerenciamento e otimização de bancos de dados relacionais com PostgreSQL, realizando modelagem e aprimoramento de consultas.\n\nAlém disso, desenvolvo scripts e bibliotecas internas focados na automação de processos de web scraping, priorizando a eficiência e reutilização. Minha atuação inclui ainda a configuração e automação de pipelines de CI/CD com GitHub Actions, facilitando o fluxo de desenvolvimento e deploy contínuo. Participo ativamente de reuniões com clientes para entender suas necessidades e assegurar que as soluções desenvolvidas estejam alinhadas com suas expectativas." } }, "golfarma": { @@ -110,17 +115,36 @@ "label": "Híbrido (Feira de Santana - BA)" }, "description": { - "label": "Golfarma - Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc sit amet egestas diam. Donec eget convallis ex. Cras nec leo risus. Nunc finibus lorem risus, id fermentum urna tempus eu.\n\nDonec id iaculis dui. Nulla sit amet euismod velit. Donec sed quam sit amet elit eleifend elementum. Morbi pellentesque ligula vel faucibus commodo. Aenean rhoncus varius ligula ut cursus. Duis congue pellentesque rutrum." + "label": "A distribuidora farmacêutica, com foco no mercado baiano, começou a investir em tecnologia no final de 2019 para acompanhar as transformações do setor. Durante meu período na empresa, atuei no desenvolvimento, criação e manutenção de APIs Restful, utilizando PHP (Laravel), garantindo a eficiência e escalabilidade das soluções implementadas.\n\nTambém fui responsável pelo gerenciamento e manutenção de bancos de dados com SQL Server e PostgreSQL, assegurando a integridade e a performance das informações armazenadas. Além disso, mantive contato direto com clientes para entender suas necessidades, solucionar problemas e garantir a implementação adequada dos sistemas desenvolvidos." } } }, "projects": { + "types": { + "personal": { + "label": "Pessoal" + }, + "professional": { + "label": "Profissional" + }, + "academic": { + "label": "Acadêmico" + } + }, + "libScrapper": { + "title": { + "label": "Biblioteca de Web Scraping Interno" + }, + "description": { + "label": "Biblioteca para automatizar processos de web scraping interno. Obtendo dados de forma eficiente e reutilizável para diversos projetos internos." + } + }, "portfolioV2": { "title": { "label": "Site Pessoal v2" }, "description": { - "label": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc sit amet egestas diam. Donec eget convallis ex. Cras nec leo risus. Nunc finibus lorem risus, id fermentum urna tempus eu." + "label": "Segunda versão do meu site pessoal. O site foi desenvolvido com o intuito de apresentar minhas habilidades e experiências, além de servir como um portfólio para meus projetos. Também aproveitei para aplicar meus conhecimentos de design." } }, "semesterUefs": { @@ -128,7 +152,7 @@ "label": "Semestre UEFS" }, "description": { - "label": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc sit amet egestas diam. Donec eget convallis ex. Cras nec leo risus. Nunc finibus lorem risus, id fermentum urna tempus eu." + "label": "Plataforma com contagem dos dias para o fim do semestre letivo da UEFS, além de um calendário com atualizações automáticas para ajudar a comunidade acadêmica." } }, "portfolioV1": { @@ -136,7 +160,7 @@ "label": "Site Pessoal v1" }, "description": { - "label": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc sit amet egestas diam. Donec eget convallis ex. Cras nec leo risus. Nunc finibus lorem risus, id fermentum urna tempus eu." + "label": "Primeira versão do meu site pessoal. Atualmente ele está desatualizado." } }, "ondeAssistir": { @@ -144,7 +168,7 @@ "label": "Onde Assistir" }, "description": { - "label": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc sit amet egestas diam. Donec eget convallis ex. Cras nec leo risus. Nunc finibus lorem risus, id fermentum urna tempus eu." + "label": "Plataforma que reúne informações sobre onde assistir partidas de futebol ao vivo, com base em serviços disponíveis no Brasil. Desenvolvimento como projeto acadêmico." } }, "ppbio": { @@ -152,7 +176,7 @@ "label": "Programa Prioritário de Bioeconomia (PPBio)" }, "description": { - "label": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc sit amet egestas diam. Donec eget convallis ex. Cras nec leo risus. Nunc finibus lorem risus, id fermentum urna tempus eu." + "label": "Plataforma com listagem de projetos para capitação de recursos, focado na Amazônia Legal. Atuei desenvolvendo a API." } }, "rhisa": { @@ -160,7 +184,7 @@ "label": "Rhisa" }, "description": { - "label": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc sit amet egestas diam. Donec eget convallis ex. Cras nec leo risus. Nunc finibus lorem risus, id fermentum urna tempus eu." + "label": "Plataforma focado na criação de uma rede de pesquisadores atuando na Amazônia Legal. Atuei no desenvolvimento da API e no scraping dos dados." } }, "leadbase": { @@ -168,7 +192,7 @@ "label": "Leadbase" }, "description": { - "label": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc sit amet egestas diam. Donec eget convallis ex. Cras nec leo risus. Nunc finibus lorem risus, id fermentum urna tempus eu." + "label": "Plataforma de gestão de dados para farmácias." } } }, @@ -181,9 +205,9 @@ "label": "XXX SIECOMP" }, "description": { - "label": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc sit amet egestas diam. Donec eget convallis ex. Cras nec leo risus. Nunc finibus lorem risus, id fermentum urna tempus eu.\n\nDonec id iaculis dui. Nulla sit amet euismod velit. Donec sed quam sit amet elit eleifend elementum. Morbi pellentesque ligula vel faucibus commodo. Aenean rhoncus varius ligula ut cursus. Duis congue pellentesque rutrum." + "label": "A palestra abordou a importância de aprender as bases, fazendo uma correlação entre a culinária e programação. A ideia foi mostrar que, assim como na culinária, é necessário entender os ingredientes e suas funções para criar um bolo elaborado, na programação é necessário entender os conceitos e suas aplicações para criar um código eficiente e de qualidade." } } } } -} +} \ No newline at end of file diff --git a/src/app/page.tsx b/src/app/page.tsx index 29f2aec..e66cdc6 100644 --- a/src/app/page.tsx +++ b/src/app/page.tsx @@ -1,12 +1,12 @@ "use client"; import "./i18n"; import Image from "next/image"; -// import Link from "next/link"; +import Link from "next/link"; import { useMemo, useState } from "react"; import { useTranslation } from "react-i18next"; import ArrowDownIcon from "./assets/icons/arrow-down.svg"; -// import ArrowRight from "./assets/icons/arrow-right-alt.svg"; +import ArrowRight from "./assets/icons/arrow-right-alt.svg"; import EmailIcon from "./assets/icons/email-logo.svg"; import GithubIcon from "./assets/icons/github-logo.svg"; import LinkedinIcon from "./assets/icons/linkedin-logo.svg"; @@ -106,12 +106,12 @@ export default function Home() { {t("pages.home.projects.title.label")} - {/* + {t("pages.home.projects.seeMore.label")} - */} +