Skip to content

Esse portfólio fala sobre minha carreira de estudante, profissional e dos cinco projetos realizados durante o meu curso de Análise e Desenvolvimento de Sistemas.

Notifications You must be signed in to change notification settings

sofialessaa/Portfolio-Sofia-Lessa

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

54 Commits
 
 

Repository files navigation

Portfólio - Sofia Matos Lessa

Oioi, sou Sofia Matos Lessa, tenho 20 anos e atualmente curso Análise e Desenvolvimento de Sistemas na FATEC de São José dos Campos. Desde criança, sempre fui fascinada pelo mundo da tecnologia e os computadores despertaram em mim uma curiosidade que se transformou num interesse que só cresceu com o passar dos anos.

No final do meu ensino médio, conheci a FATEC e o curso de Análise e Desenvolvimento de Sistemas. Percebi que essa era uma grande oportunidade para ingressar na área tech e desenvolver não só minhas habilidades técnicas, mas também para crescer pessoal e profissionalmente. Em janeiro de 2023, ingressei na FATEC – SJC, onde tenho aprendido e me desafiado constantemente a buscar soluções criativas, e a aprimorar minha visão crítica sobre as tecnologias que transformam o mundo e a sociedade.

Durante esses anos, tive a oportunidade de aprender diversas tecnologias, como TypeScript, Python, JavaScript, React, MySQL, AWS e Azure, por meio dos projetos realizados na faculdade. Além dos conhecimentos técnicos, desenvolvi habilidades interpessoais e adquiri experiência com metodologias ágeis, atuando como integrante do Dev Team, Product Owner e Scrum Master.

Em junho até novembro de 2025, ingressei como estagiária na Ito1 Technology, empresa especializada principalmente em soluções de Internet das Coisas (IoT), capturando e analisando dados de sensores conectados para gerar insights que otimizam processos e suportam a tomada de decisão. Atuei no desenvolvimento de soluções IoT (integrando hardware e software), criação de dashboards, aplicativos, sistemas web e outras ferramentas de análise de dados para atender às necessidades dos clientes.

Contatos

Meus Principais Conhecimentos

Embora eu me identifique especialmente com a área de dados, também possuo experiência e conhecimento nas tecnologias voltadas ao desenvolvimento back-end e front-end, além de demonstrar interesse pela área de desenvolvimento full stack. Entre as tecnologias que domino estão:

Linguagens

Frameworks & Bibliotecas

Banco de Dados & Cloud

Ferramentas

Meus Projetos

1º Semestre (2023-1)

logo_techSchool  TECH SCHOOL

O projeto desenvolvido no primeiro semestre do curso teve como parceiro o cliente interno Antônio Egydio São Tiago Graça - FATEC São José dos Campos – SP. A necessidade surgiu a partir do interesse da empresa em implementar o método ágil SCRUM no ambiente de trabalho. No entanto, os colaboradores ainda não possuíam conhecimento suficiente sobre a metodologia, o que dificultava sua aplicação prática no dia a dia.

Solução: Desenvolver um site informativo simples e funcional sobre a metodologia ágil SCRUM. O site deve apresentar conceitos, fundamentos e exemplos práticos, complementados por avaliações interativas para os usuários. A proposta foi auxiliar na comunicação e incentivar o uso da metodologia, contribuindo para uma melhor organização e eficiência dos funcionários.

Tecnologias Utilizadas

  • HTML: Responsável pela estruturação das páginas do site.
  • CSS: Aplicado para a estilização e o design visual.
  • Bootstrap: Utilizado para construir um layout responsivo e moderno.
  • JavaScript: Utilizado na implementação de validações nos questionários.
  • Flask: Framework leve utilizado para estruturar a aplicação web, criar rotas e realizar a integração entre o front-end e o back-end.
  • Python: Linguagem utilizada no desenvolvimento da lógica da aplicação e na configuração da hospedagem local por meio do Flask.
  • Figma: Ferramenta utilizada para criação de protótipos.
  • Trello: Utilizado no gerenciamento de tarefas, organização de sprints e acompanhamento do progresso da equipe.
  • Microsoft Office: Utilizado na documentação, apresentações e no planejamento geral do projeto.
  • GitHub: Utilizado para o hospedagem do código e documentação do projeto.

Contribuições Pessoais

Durante o desenvolvimento deste projeto, atuei como desenvolvedor, assumindo diversas responsabilidades que abrangeram tanto a implementação de funcionalidades quanto a melhoria da experiência do usuário e a organização visual. Seguem as principais contribuições:

  • Protótipo e Layout do Site: Participei da criação dos protótipos no Figma e atuei na definição de um layout intuitivo e moderno. Estudei a usabilidade e a escolha de cores, visando proporcionar uma experiência que facilitasse o foco e a concentração do usuário.
  • Desenvolvimento do Menu Lateral: Fiz a implementação completa do menu lateral, incluindo o gerenciamento de rotas, definição dos layouts e interações do usuário. Usei as seguintes tecnologias: HTML, CSS, Bootstrap.
  • Correções e Atualizações de Conteúdo: Revisei e corrigi os textos em diversas seções do site, garantindo clareza e coerência na comunicação.
  • Funcionalidade de Scroll e Retorno ao Topo: Fiz a integração de uma barra de navegação com links âncora para seções específicas (Backlog, Burndown, Kanban e DoR/DoD) junto com um botão para retornar rapidamente ao topo da página, proporcionando uma navegação fluida e eficiente. Usei as seguintes tecnologias: HTML.
  • Desenvolvimento da Paleta de Cores para Modo Light e Dark: Criação e implementação de uma paleta de cores que contempla dois temas (light e dark), proporcionando além de um visual melhor, a organização das cores no projeto. Usei as seguintes tecnologias: CSS.
  • Hospedagem da aplicação web na AWS: Participei da hospedagem do site que estava rodando localmente para plataforma AWS.

Hard Skills

  • HTML - Possuo autonomia para ensinar.
  • CSS - Sei fazer com autonomia.
  • FLASK - Sei fazer com autonomia.
  • Python - Realizo com auxílio.
  • Bootstrap- Sei fazer com autonomia.
  • JavaScript- Realizo com auxílio.
  • Figma- Sei fazer com autonomia.
  • Github- Possuo autonomia para ensinar.

Soft Skills

  • Criatividade: Durante a fase de prototipação no Figma, dediquei-me a explorar diversas combinações de layout e paletas de cores para tornar o site mais atraente e intuitivo. Usei minhas habilidades de criatividade para criar componentes visuais únicos.
  • Flexibilidade: Em várias reviews de protótipo, recebi críticas e sugestões que iam contra minhas primeiras ideias. Usei minhas habilidades de flexibilidade para reavaliar o design, incorporar o feedback do time e do cliente e ajustar o fluxo de navegação, o que resultou em um protótipo mais alinhado às expectativas de todos. Por exemplo, quando meu protótipo não foi selecionado, prontifiquei-me a ajustar o segundo modelo com as últimas recomendações, garantindo que ele atendesse plenamente às necessidades do cliente.
  • Comunicação: Durante o desenvolvimento do projeto, mantive o grupo sempre informado no chat do WhatsApp, compartilhando atualizações sobre o status das minhas tarefas e avisando quando completava cada etapa. Usei minhas habilidades de comunicação para esclarecer dúvidas em tempo real e garantir que ninguém ficasse sem direcionamento.
  • Organização: Durante a fase de escolha de cores, estudei diferentes paletas adequadas para um site educacional e elaborei um PDF detalhado explicando o significado e a função de cada tom, para que o grupo pudesse decidir de forma fundamentada. Usei minhas habilidades de organização para consolidar informações complexas em um guia claro, facilitando a seleção colaborativa da paleta.
  • Responsabilidade: Quando tive um atraso por causa de outra disciplina, certifiquei-me de avisar imediatamente o time no WhatsApp sobre meu impedimento, explicando o motivo e sugerindo novas estimativas de entrega. Usei minhas habilidades de comunicação para garantir que ninguém fosse pego de surpresa e que todas as entregas fossem replanejadas sem comprometer o cronograma.
  • Proatividade: Após finalizar o protótipo inicial, desenhei à mão um modelo alternativo com layout mais moderno e compartilhei no grupo assim que ficou pronto, convidando todos a darem feedback. Usei minha proatividade para antecipar necessidades de design e engajar o time na evolução do layout do site.

Vídeo do projeto - 1º Semestre: TECH SCHOOL

techschool.mp4

Acesse o site pelo seu computador ou celular!

2º Semestre (2023-2)

zaribot  Assistente Zari

O projeto desenvolvido no segundo semestre do curso teve como parceiro o cliente interno Giuliano Araujo Bertoti - FATEC São José dos Campos – SP. A necessidade surgiu a partir da dificuldades dos usuários de analisarem documentos extensos de forma eficaz e rápida, sobretudo na busca de informações específicas.

Solução: Desenvolver um modelo de ChatBot (assistente virtual) capaz de analisar documentos enviados pelos usuários, como pdf e txt, a partir disso responder de forma interativa e objetiva as perguntas sobre o conteúdo. Alem disso, o usuário tera acesso ao histórico de conversa com o ChatBot caso queira revisitar as interações anteriores.

Tecnologias Utilizadas

  • JAVA: Utilizada para o desenvolvimento do ChatBot, como a implementação da lógica.
  • Eclipse: Ambiente de desenvolvimento integrado (IDE) que fornece ferramentas para escrever, depurar e testar código.
  • Gradle: Ferramenta de automação de builds que automatiza processos como compilação, teste, empacotamento e distribuição de software.
  • MySQL: Utilizado para a criação do banco de dados, onde armazena os documentos enviados e interações feitas pelo usuário ao ChatBot.
  • Azure: Utilizado para hospedagem do banco de dados.
  • Figma: Ferramenta utilizada para criação de protótipos.
  • Trello: Utilizado no gerenciamento de tarefas, organização de sprints e acompanhamento do progresso da equipe.
  • Microsoft Office: Utilizado na documentação, apresentações e no planejamento geral do projeto.
  • GitHub: Utilizado para o hospedagem do código e documentação do projeto.

Contribuições Pessoais

Durante o desenvolvimento deste projeto, atuei como desenvolvedor, assumindo diversas responsabilidades que abrangeram tanto a implementação de funcionalidades quanto a melhoria da experiência do usuário e a organização visual. Seguem as principais contribuições:

  • Desenvolvimento da tela de cadastro: Criei uma interface de cadastro, definindo três campos obrigatórios: nome, e-mail e senha. Para melhorar a usabilidade, implementei um botão que alterna entre mostrar e ocultar a senha. Tecnologias utilizadas: Java, WindowBuilder do Eclipse e Swing.
  • Hospedagem do banco de dados na Azure: Hospedei o banco de dados que rodava localmente para a plataforma da Azure.
  • Padronização de estilo visual das telas: Uniformizei o layout e os estilos das telas de cadastro, login e inicial para que ambas compartilhassem as mesmas cores, fontes e espaçamentos. Tecnologias utilizadas: Java, WindowBuilder do Eclipse e Swing.
  • Definição do tema: Defini os temas dos documentos (pdf e txt) que são enviados para a Zari analisar e responder às perguntas dos usuários.
  • Implementação do botão de histórico na tela de Perguntas e Respostas: Na interface do chat, inseri um botão “Histórico” que abre uma lista de interações anteriores entre o usuário e o assistente.

Hard Skills

  • JAVA - Realizo com auxílio.
  • Eclipse - Realizo com auxílio.
  • Gradle - Realizo com auxílio
  • MySQL - Sei fazer com autonomia.
  • Azure - Realizo com auxílio.
  • Figma - Sei fazer com autonomia.
  • GitHub - Possuo autonomia para ensinar.
  • Trello - Possuo autonomia para ensinar.

Soft Skills

  • Comunicação: Durante a integração do novo membro, percebi que ele não tinha acesso aos canais de comunicação. Usei minhas habilidades de comunicação para enviar imediatamente o link do nosso servidor Discord e adicioná-lo a equipe no Microsoft Teams, garantindo que ele pudesse tirar dúvidas e participar das discussões desde o primeiro dia.
  • Organização: Para facilitar a demonstração na feira de soluções, organizei todos os arquivos de teste (pdf e txt) que a Zari iria processar, criando um roteiro de perguntas pré-definido para os visitantes. Essa organização agilizou as demonstrações e garantiu que nenhum teste fosse esquecido.
  • Feedback e Decisão Compartilhada: Para definir o tema da API, criei um formulário online (Google Forms) e convidei todos a sugerirem ideias. Usei minhas habilidades de facilitação para recolher opiniões, compilar os resultados e apresentar ao time uma proposta baseada nas preferências da maioria, promovendo engajamento e senso de propriedade no projeto.
  • Iniciativa de Ensino: Depois de configurar o banco de dados na nuvem Azure, detectei que nem todos sabiam como conectar suas máquinas. Usei minha iniciativa de ensino para elaborar um tutorial passo a passo, com capturas de tela, e compartilhei no chat do whatsapp, capacitando toda a equipe a trabalhar com o banco remoto.

Vídeo do projeto - 2º Semestre: Assistente Zari

assistente-zari.mp4
3º Semestre (2024-1)

Dashboard Pro4Tech

O projeto desenvolvido no terceiro semestre do curso teve como parceiro um cliente externo, a empresa de Tecnologia Pro4Tech especializada em transformação digital, onde atua por meio de soluções que apresentam desde sistemas web, mobile, inteligência artificial, BI, Internet das Coisas (IoT) a RPA (robotização). A necessidade surgiu a partir da dificuldade da Pro4Tech em consolidar e interpretar dados massivos, armazenados em planilhas Excel, o que tornava lento o acompanhamento de vendas, clientes e indicadores de desempenho, além de comprometer a agilidade e a precisão na tomada de decisões estratégicas.

Solução: Desenvolver uma aplicação web dinâmica e eficiente para análise de dados de vendas, utilizando planilhas Excel como fonte de informação. A aplicação organiza esses dados em dashboards interativos e tabelas com filtros personalizados, oferecendo uma ferramenta acessível e intuitiva que permite à empresa entender melhor seu desempenho comercial e tomar decisões estratégicas com mais precisão.

Tecnologias Utilizadas

  • TypeScript: Utilizado para aumentar a segurança, organização e produtividade no desenvolvimento. Atua como linguagem principal no frontend e no backend.
  • JavaScript: Utilizado na criação de scripts para processamento de dados e na estruturação da lógica da interface, conferindo dinamismo e interatividade ao usuário.
  • React: Biblioteca utilizada para o desenvolvimento da interface do usuário com componentes responsivos e reutilizáveis.
  • MySQL: Utilizado para a criação do banco de dados, onde armazena todos os dados da aplicação.
  • NodeJS: Utilizado no backend para a criação de APIs e implementação da lógica integrada ao banco de dados.
  • SCSS: Aplicado para a estilização e o design visual.
  • Figma: Ferramenta utilizada para criação de protótipos.
  • Trello: Utilizado no gerenciamento de tarefas, organização de sprints e acompanhamento do progresso da equipe.
  • Microsoft Office: Utilizado na documentação, apresentações e no planejamento geral do projeto.
  • GitHub: Utilizado para o hospedagem do código e documentação do projeto.

Contribuições Pessoais

Durante o desenvolvimento deste projeto, atuei como desenvolvedor, assumindo diversas responsabilidades que abrangeram tanto a implementação de funcionalidades quanto a melhoria da experiência do usuário e a organização visual. Seguem as principais contribuições:

  • Rotas e visualização em tempo real: Criei rotas GET para fornecer dados de vendas (quantidade por produto e totais mensais) e integrei esses endpoints em gráficos React para exibir os números sempre atualizados. Tecnologias: JavaScript, React (TypeScript) e MySQL.
  • Ajuste feito na leitura das planilhas de excel: Implementei as especificações necessárias para que o banco de dados pudesse interpretar corretamente a coluna de data importada do Excel, evitando erros de leitura e conversão. Tecnologias utilizadas: JavaScript e MySQL.
  • Criação da tabela Cliente e função associada: Participei do desenvolvimento da tabela Cliente no banco de dados e a função correspondente para importar apenas os campos necessários do arquivo Excel, garantindo que essas informações fossem mapeadas corretamente. Tecnologias utilizadas: React (TypeScript), JavaScript e MySQL.
  • Implementação do modo claro: Realizei as alterações necessárias para suportar tanto o dark mode quanto o light mode. Ajustei a paleta de cores do light mode e verifiquei todos os componentes em dark mode para manter a consistência visual. Tecnologias utilizadas: React com TypeScript e SCSS.
  • Método para adicionar vendas: Participei da criação do método de adicionar vendas, implementando o backend, a conectividade com o frontend e o próprio frontend. No frontend, criei também o modal de vendas, ajustando o visual e as fontes. Tecnologias utilizadas: React com TypeScript e SCSS.
  • Formatação de valores nos gráficos e máscaras: Ajustei os componentes de visualização e máscaras no input de valores para que, ao exibir valores, eles aparecessem no formato padrão BRL (pt-BR), mantendo a consistência com o restante da aplicação e facilitando a entrada correta de valores pelos usuários. Tecnologias utilizadas: React (TypeScript).
  • Responsividade dos gráficos: Implementei a responsividade nos gráficos, garantindo que eles se redimensionassem corretamente de acordo com intervalos de dados dinâmicos e diferentes tamanhos de tela. Tecnologias utilizadas: React com TypeScript e SCSS.

Hard Skills

  • TypeScript - Realizo com auxílio.
  • JavaScript - Sei fazer com autonomia.
  • MySQL - Sei fazer com autonomia.
  • React - Sei fazer com autonomia.
  • SCSS - Sei fazer com autonomia.
  • Figma - Sei fazer com autonomia.
  • GitHub - Possuo autonomia para ensinar.

Soft Skills

  • Comunicação: Avisava imediatamente no grupo de WhatsApp sempre que alteramos a estrutura da planilha Excel usada como fonte, informando exatamente qual pasta e subpasta no Teams continha o novo arquivo, para que ninguém perdesse tempo procurando ou trabalhando com versão desatualizada.
  • Proatividade: No primeiro dia de uma sprint, finalizei toda a tarefa de implementação do modo claro, muito antes do prazo e me ofereci em seguida para ajudar colegas em suas demandas, acelerando o progresso geral do time.
  • Trabalho em equipe: Assim que entreguei o modo claro, me voluntariei para assumir novas tarefas que ainda estavam pendentes, colaborando diretamente com colegas que precisavam de apoio e assegurando que nenhum item da sprint ficasse para trás.

Vídeo do projeto - 3º Semestre: Dashboard Pro4Tech

dashboard-pro4tech.mp4
4º Semestre (2024-2)

WE COLEB

O projeto desenvolvido no quarto semestre do curso teve como parceiro um cliente externo, a empresa de Logística JJM Log, atual NEWE, especializada em inovação em soluções logísticas, que atua nos setores de agronegócio, medicamentos e transporte aduaneiro, oferecendo serviços ágeis e personalizados para atender às demandas do mercado. A necessidade surgiu a partir da dificuldade da JJM Log em administrar seus processos internos, o que comprometia a eficácia da comunicação e a transparência entre os diversos departamentos, gerando falhas no controle de entregas, uso excessivo de recursos, baixa visibilidade das operações logísticas e problemas na interação entre RH e funcionários, dificultando o armazenamento e a organização dos documentos dos colaboradores.

Solução: Desenvolver um sistema web completo em ambiente de produção, com regras de negócio complexas e deploy automatizado, focado em otimizar fluxos de trabalho e fortalecer a colaboração dos departamentos da JJM Log: registro de entregas detalhadas, RH gerencia documentos de funcionários de forma eficaz, cadastro de clientes, solicitações de serviço. Tudo isso ofereceu informações rapidas e organizadas em tempo real entre os departamentos.

Tecnologias Utilizadas

  • TypeScript: Utilizado para aumentar a segurança, organização e produtividade no desenvolvimento. Atua como linguagem principal no frontend e no backend.
  • JavaScript: Utilizado na criação de scripts para processamento de dados e na estruturação da lógica da interface, conferindo dinamismo e interatividade ao usuário.
  • MySQL: Utilizado para a criação do banco de dados relacional, onde eram armazenados e gerenciados os dados da aplicação.
  • React: Biblioteca utilizada para o desenvolvimento da interface do usuário com componentes responsivos e reutilizáveis.
  • Node.js: Utilizado no backend para a criação de APIs e implementação da lógica integrada ao banco de dados.
  • Figma: Ferramenta utilizada para a criação de protótipos e definição do layout da aplicação.
  • CSS: Aplicado para a estilização e o design visual.
  • Slack: Platafotma utilizada para comunicação em tempo real com o cliente, facilitando o alinhamento de expectativas, a troca de feedbacks e a rápida resolução de dúvidas.
  • Trello: Utilizado no gerenciamento de tarefas, organização de sprints e acompanhamento do progresso da equipe.
  • Microsoft Office: Utilizado para documentação, apresentações e planejamento geral do projeto.
  • GitHub: Utilizado para hospedagem do código e documentação do projeto.

Contribuições Pessoais

Durante o desenvolvimento deste projeto, atuei como Product Owner, centralizando a comunicação com o cliente, definindo requisitos, priorizando funcionalidades e gerenciando o backlog, além de contribuir diretamente no desenvolvimento de código para implementar as soluções que atendiam as necessidades do cliente. Seguem as principais contribuições:

  • Comunicação com o cliente: Conduzi reuniões para entender requisitos, alinhar expectativas e repassar feedback ao time, assegurando que as soluções desenvolvidas atendessem às necessidades do cliente. Tecnologias utilizadas: Slack e Google Meet.
  • Criação do Backlog e User Stories: Organizei em planilha Excel o backlog do produto e as user stories, detalhando funcionalidades, cenários de uso e critérios de aceitação, e priorizando entregas conforme impacto para o cliente.
  • Organização do README no GitHub: Estruturei o README do repositório, com visão geral do projeto, convenções adotadas, orientações para contribuição e guia de instalação do projeto.
  • Criação da página Lista de Clientes: Implementei o CRUD completo com cadastro de campos básicos e múltiplos endereços, validei entradas para manter a integridade dos dados e adicionei filtros dinâmicos para facilitar a busca pelos nomes dos clientes. Tecnologias: React (JavaScript), CSS e MySQL.
  • Organizei o Trello: Dividi as user stories em cards no Trello, atribuí responsáveis e sincronizei tudo em uma planilha para monitorar o progresso, alinhar prioridades e otimizar o planejamento das sprints.
  • Criação da página Detalhes do Cliente: Desenvolvi uma tela de visualização que apresenta todos os registros do cliente selecionado. Tecnologias Utilizadas: React(JavaScript) e CSS.
  • Modal de Edição de Cliente: Criei e integrei um modal responsivo para editar os campos do cliente sem sair da lista. Tecnologias Utilizadas: React(JavaScript) e CSS.
  • Aprimoramentos no Frontend: Participei da melhora do layout e a usabilidade geral do projeto. Tecnologias Utilizadas: React(JavaScript) e CSS.

Hard Skills

  • TypeScript - Realizo com auxílio.
  • JavaScript - Sei fazer com autonomia.
  • MySQL - Sei fazer com autonomia.
  • React - Sei fazer com autonomia.
  • NodeJS - Realizo com auxílio.
  • CSS - Sei fazer com autonomia.
  • Slack - Possuo autonomia para ensinar.
  • Figma - Sei fazer com autonomia.
  • GitHub - Possuo autonomia para ensinar.
  • Trello - Possuo autonomia para ensinar.

Soft Skills

  • Comunicação: Durante as sessões de levantamento de requisitos, mantive contato constante com o cliente JJM Log, enviando perguntas claras e objetivas sempre que surgia uma dúvida da equipe, por exemplo, sobre o fluxograma de processos. Usei minhas habilidades de comunicação para repassar imediatamente ao cliente todas as questões levantadas e garantir que as respostas chegassem ao time em tempo real, evitando retrabalho e atrasos.
  • Liderança: Durante a definição das sprints, organizei uma reunião em que estabeleci as prioridades do backlog e esclareci expectativas com toda a equipe. Usei minhas habilidades de liderança para conduzir o debate, alinhar responsabilidades e motivar cada membro a assumir seus cards no Trello, o que aumentou o engajamento e acelerou o ritmo de entrega.
  • Trabalho em Equipe: Ao perceber que alguns colegas estavam sobrecarregados, ofereci ajuda para redistribuir tarefas menores e conversei com a professora responsável sobre ajustes de escopo para evitar burnout. Usei minhas habilidades de trabalho em equipe para manter o equilíbrio de esforço e assegurar que ninguém ficasse sem suporte ao longo da sprint.
  • Gestão de Tempo: Ao descobrir que tarefas menores estavam travando o progresso geral, reorganizei o backlog para encaixar tarefas rápidas entre atividades maiores, equilibrando urgência e esforço e mantendo as entregas sempre dentro do prazo. Por exemplo, tinha muitas tarefas simples que eram deixadas para fazer em última hora e isso prejudicava o andamento de outras tarefas.

Vídeo do projeto - 4º Semestre: WE COLEB

wecoleb.mp4
5º Semestre (2025-1)

icone-logo   Recibify

O projeto desenvolvido no quinto semestre do curso teve como parceiro um cliente externo, a empresa de Tecnologia GSW Software especializada em desenvolvimento e implantação de soluções inteligentes em Tecnologia da Informação para gestão empresarial, gestão tributária, operações em comércio exterior e CRM. A necessidade surgiu a partir da dificuldade da GSW Software em se organizar e tornar o processo de reembolso de funcionários o mais simples e prático possível, pois a alta demanda de registros manuais gerava erros e atrasos nas análises, prejudicando os colaboradores e gestores.

Solução: O projeto teve o desenvolvimento de um aplicativo móvel que permite aos usuários registrar reembolsos de despesas, anexar comprovantes, incluir descrições e acompanhar o status de aprovação das solicitações. Ademais, foi criado um sistema web corporativo no qual o gerente monitora as despesas e pode alterar o status de cada solicitação de reembolso, promovendo maior eficiência em todo o processo.

Tecnologias Utilizadas

  • TypeScript: Utilizado para aumentar a segurança, organização e produtividade no desenvolvimento. Atua como linguagem principal no frontend e no backend.
  • MySQL: Utilizado para a criação do banco de dados relacional, onde eram armazenados e gerenciados as fotos dos usuários e comprovantes.
  • React: Biblioteca utilizada para o desenvolvimento da interface do usuário com componentes responsivos e reutilizáveis no sistema web.
  • React Native: Utilizado para a criação do aplicativo.
  • Expo: Framework usado para desenvolvimento do aplicativo em React Native.
  • MongoDB: Utilizado para a criação do banco de dados não relacional, onde eram armazenados e gerenciados os dados da aplicação mobile e web.
  • Android Studio: Ambiente para testar o aplicativo e para gerar o APK.
  • Node.js: Utilizado no backend para a criação de APIs, implementação da lógica integrada ao banco de dados e na integração do mobile com o web.
  • CSS: Aplicado para a estilização e o design visual.
  • GIT: Sistema de controle de versão utilizado para gerenciar o histórico de alterações, organizar branches, manipular commits, atualizar submódulos e integrar diferentes repositórios.
  • Figma: Ferramenta utilizada para a criação de protótipos e definição do layout da aplicação.
  • Jira: Utilizado no gerenciamento de tarefas, organização de sprints e acompanhamento do progresso da equipe.
  • Microsoft Office: Utilizado para documentação, apresentações e planejamento geral do projeto.
  • GitHub: Utilizado para hospedagem do código e documentação do projeto.

Contribuições Pessoais

Durante o desenvolvimento do projeto, atuei como Scrum Master, centralizando a comunicação com o time e garantindo o fluxo organizado das atividades. Coordenei a divisão de tarefas em sprints, mantendo todos alinhados sobre prioridades e prazos. Além disso, conduzi reuniões entre o grupo, monitorando o progresso, removendo impedimentos e contribuindo diretamente no desenvolvimento de código para entregar soluções que atendiam às necessidades do cliente. Seguem as principais contribuições:

  • Organização de tarefas: Dividi o backlog em epics e histórias de usuário, atribuí responsáveis e incluí descrições detalhadas em cada tarefa, o que melhorou a visibilidade e o entendimento da equipe sobre o escopo de cada ponto. Tecnologias utilizadas: Jira e Excel.
  • Padronização de repositório no GitHub: Estabeleci padrões de nomenclatura para branches e commits (baseadas em Git Flow).
  • Implementação da lógica de Login e Cadastro: Modelagem da tabela de usuários, implementação de rotas de login e cadastro com JWT no backend (Node.js/TypeScript/MongoDB) e integração de estado via Redux Toolkit no app React Native (Expo).
  • Funcionalidade de upload de comprovantes no Android: Participei do upload de comprovantes, atuando principalmente na parte do upload no android. Tecnologias utilizadas: TypeScript, React Native e Expo.
  • Campos dinâmicos e descrição opcional em registro de despesas: Implementei lógica condicional para exibir campos adicionais ao selecionar categorias “Material” e “Transporte” e tornei o campo de descrição opcional. Tecnologias utilizadas: TypeScript, React Native e Expo.
  • Notificação de mudança de status: Criei no backend uma tabela de alterações de status e desenvolvi um mecanismo de notificação local no app que informa o usuário assim que seu pedido de reembolso é aprovado ou rejeitado. Tecnologias utilizadas: Node.js/TypeScript/MongoDB, React Native (Expo).
  • Ajustes visuais nas telas de informação e pré-registro: Telas (CSS e React Native) alinhadas ao protótipo no Figma, otimizando usabilidade e consistência de layout..
  • Controle de versão com Git: Utilizei o Git como sistema de controle de versão para gerenciar o histórico de alterações no código-fonte do projeto. Realizei operações como atualização de submódulos, organização de branches, manipulação de commits e integração entre repositórios, garantindo rastreabilidade, colaboração eficiente e maior controle sobre o desenvolvimento.
  • Sistema web corporativo: Implementação das interfaces de cadastro e listagem (categorias, departamentos e funcionários) com filtros de pesquisa e edição inline, assegurando conectividade com o backend e facilidade de manutenção. Tecnologias utilizadas: React e TypeScript.

Hard Skills

  • TypeScript - Realizo com auxílio.
  • MySQL - Sei fazer com autonomia.
  • React - Sei fazer com autonomia.
  • React Native - Sei fazer com autonomia.
  • MongoDB - Sei fazer com autonomia.
  • Expo - Realizo com auxílio.
  • Android Studio - Realixo com auxílio.
  • NodeJS - Realizo com auxílio.
  • CSS - Sei fazer com autonomia.
  • GIT - Sei fazer com autonomia.
  • Figma - Sei fazer com autonomia.
  • GitHub - Possuo autonomia para ensinar.
  • Jira - Sei fazer com autonomia.

Soft Skills

  • Organização: Antes mesmo das começarem Sprints Reviews, já organizava todas as tarefas no Jira e em uma planilha Excel, detalhando descrições e dependências. Usei minhas habilidades de organização para garantir que cada membro soubesse exatamente o que fazer desde o primeiro dia, evitando sobrecarga e atrasos.
  • Empatia: Notei que uma colega tinha dificuldade com comandos Git Bash. Sendo assim, usei minhas habilidades de empatia para criar e compartilhar um tutorial passo a passo, permitindo que ela ganhasse confiança e autonomia no versionamento de código.
  • Proatividade: No final de cada sprint, realizava testes completos no app e já me antecipava para resolver os bugs encontrados, garantindo entregas estáveis.
  • Assertividade: Sempre cobrava o time para manter o Jira atualizado e seguirmos as convenções de branches e commits. Usei minha assertividade para lembrar os colegas dos padrões previamente definidos, o que manteve o quadro de tarefas sempre organizado e compreensível.
  • Liderança: Aproveitei os horários livres pela manhã para convocar pequenas reuniões de alinhamento sobre o andamento das tarefas. Usei minhas habilidades de liderança para coordenar essas sessões rápidas, garantindo clareza e engajamento do time.
  • Pensamento Crítico: Observei que muitos deixavam commits apenas ao final da tarefa, o que gerava grandes diferenças de código. Usei meu pensamento crítico para propor e promover a prática de commits frequentes, facilitando a revisão incremental e a resolução precoce de conflitos.
  • Comunicação: Para alinhar o padrão de nomenclatura de branches e commits, organizei uma votação no grupo e, em seguida, comuniquei as regras aprovadas de forma clara no chat do whatsapp, deixando claro a maneira que seria adotada.
  • Trabalho em Equipe: Sempre que um colega precisava de ajuda, seja em código, testes ou documentação, disponibilizei-me imediatamente, atuando lado a lado para remover impedimentos e mantendo o ritmo de entrega coletivo. Por exemplo, uma colega estava com dificuldades em realizar o upload do comprovante e eu prontamente com auxílio de outro colega me disponibilizei a ajuda-la na continuidade da tarefa.
  • Colaboração: Lembrei constantemente o time de dar merge em suas branches, alem de rever as tarefas logo após a conclusão para ver se estava tudo correto. Usei minhas habilidades de colaboração para manter o fluxo de integração e reduzir conflitos de merge.

Vídeo do projeto - 5º Semestre: Recibify

recibify.mp4
6º Semestre (2025-2)

Icon Nutri   NutriMind

O projeto desenvolvido no sexto semestre do curso teve como parceiro um cliente externo, a empresa Xertica.ia especializada em soluções GenAI e consultoria em nuvem que promove a inovação por meio da inteligência artificial responsável. A necessidade surgiu a partir da dificuldade de muitas pessoas de não terem acesso a profissionais da área da nutrição por limitações de logísticas e financeiras, ocasionando dificuldades em ter um suporte personalizado com base na saúde do paciente.

Solução: Desenvolver um agente conversacional inteligente (IA Generativa), focado em interagir de forma natural com o usuário, e principalmente, com suporte personalizado na área de nutrição e baseado na sáude do paciente. Apresentando funcionalidades como: recomendações alimentares personalizas, monitoria do progresso, criação de planos de dieta, além de dar suporte respondendo perguntas relacionadas à bem-estar e nutrição.

Tecnologias Utilizadas

  • Java + Spring Boot: Aplicado no backend do projeto, sendo responsável pela gestão dos dados de saúde e pessoal do paciente, além de administrar o controle de acesso à plataforma.
  • Maven: Gerencia e automatiza o processo de build no backend JAVA.
  • Swagger: Utilizado para facilitar o entendimento da API (Backend JAVA).
  • Python: Aplicado no desenvolvimento do Backend resposável pelos agentes de IA.
  • Flask: Utilizado para conectar o backend e o frontend relacionados a parte de IA, viabilizando a troca de mensagens.
  • PostgreSQL: Banco de dados utilizado para armazenar os dados da aplicação toda.
  • Google ADK: ADK que auxilia na implementação dos múltiplos agente inteligentes.
  • Gemini: Modelo de inteligência artificial desenvolvido pelo Google, usado na compreensão e geração de respostas.
  • Vue.JS: Utilizado para a construção da interface web.
  • JavaScript: Linguagem utilizada para conectar o backend com o frontend.
  • CSS: Aplicado para a estilização e o design visual.
  • GIT: Sistema de controle de versão utilizado para gerenciar o histórico de alterações, organizar branches, manipular commits, atualizar submódulos e integrar diferentes repositórios.
  • Figma: Ferramenta utilizada para a criação de protótipos e definição do layout da aplicação.
  • Jira: Utilizado no gerenciamento de tarefas, organização de sprints e acompanhamento do progresso da equipe.
  • Microsoft Office: Utilizado para documentação, apresentações e planejamento geral do projeto.
  • GitHub: Utilizado para hospedagem do código e documentação do projeto.

Contribuições Pessoais

Durante o desenvolvimento do projeto NutriMind, atuei como desenvolvedor, com forte foco na arquitetura de dados, na implementação das funcionalidades da Inteligência Artificial, melhoria da experiência do usuário e a organização visual. Sendo responsável por estruturar a base de dados de saúde do paciente, garantindo a integridade das relações complexas de anamnese, além de desenvolver a lógica central de visão computacional e análise nutricional integrada ao chat. Seguem as principais contribuições:

  • Arquitetura e Modelagem de Dados (Anamnese): Projetei e implementei a arquitetura do banco de dados relacional para o módulo de saúde. Criei e relacionei tabelas complexas para armazenar histórico de doenças, cirurgias, preferências alimentares, alergias, intolerâncias e atividades físicas, garantindo a normalização e integridade dos dados. Tecnologias utilizadas: Java, Spring Boot e PostgreSQL.
    • Justificativa Técnica: A escolha pelo PostgreSQL deve-se à necessidade de conformidade ACID (Atomicidade, Consistência, Isolamento e Durabilidade), crítica para sistemas de saúde que exigem alta confiabilidade. Sendo assim, a escolha foi feita para manter a integridade referencial e permitir a execução de consultas complexas no banco de dados, além de garantir a confiabilidade dos dados interligados e sensíveis, ocasionando o não risco de divergência ou inconsistência entre registros.
  • Desenvolvi API REST (CRUD) da parte de Anamnese: Desenvolvi a camada de serviços e controladores no backend, implementando o CRUD completo da Anamnese e os métodos de exbição, criação e remoção das demais tabelas relacionadas a saúde, permitindo a comunicação funcional entre o banco de dados e interface do usuário. Tecnologias utilizadas: Java e Spring Boot.
  • Interface e Integração do Perfil do Usuário: Desenvolvi a interface visual da área de perfil e realizei a integração com o backend para exibição e edição dos dados cadastrados e de saúde do usuário. Tecnologias utilizadas: Vue.js, JavaScript e CSS.
  • Desenvolvimento do Agente de Imagem de Análise Nutricional (IA): Implementei a lógica de inteligência artificial responsável por receber imagens de refeições, identificar os alimentos presentes e calcular automaticamente as calorias e macronutrientes, devolvendo uma análise precisa ao usuário. Tecnologias utilizadas: Python, Flask, Google ADK e Gemini.
  • Processamento de Imagens: Desenvolvi a solução para o envio de fotos. No Frontend, criei a interface de upload de refeições via chat. No Backend, construí os endpoints REST para recepção, validação e armazenamento dessas imagens para posterior análise da IA. Tecnologias utilizadas: Vue.js, JavaScript, CSS, Java, Spring Boot e PostgreSQL.
  • Dashboard do Perfil de Saúde: Colaborei no desenvolvimento da interface dos dashboards e ajustei o layout, criando os componentes dos gráficos HealthRadarChart e HealthScoreChart para visualização da pontuação de saúde e mapa de hábitos. Realizei também a integração visual com o backend. Tecnologias utilizadas: Vue.js, JavaScript e CS.
  • Markdown do chat: Implementei o markdown no chat para melhor visualização do usuário. Tecnologias utilizadas: JavaScript.
  • Edição Automática da Anamnese (IA): Participei no desenvolvimento do agente que atualiza a anamnese automaticamente baseado em relatos do usuário, como mudanças de peso ou novas atividades. Colaborei na criação do prompt e na lógica de edição dos dados. Tecnologias utilizadas: Python, Flask, Google ADK e Gemini.

Hard Skills

  • Java - Realizo com auxílio.
  • Spring Boot - Realizo com auxílio.
  • Maven - Realizo com auxílio.
  • Python - Realizo com auxílio.
  • FLASK - Sei fazer com autonomia.
  • PostgreSQL - Sei fazer com autonomia.
  • Google ADK - Realixo com auxílio.
  • Gemini - Realixo com auxílio.
  • Vue.JS - Realizo com auxílio.
  • JavaScript - Realizo com auxílio.
  • CSS - Sei fazer com autonomia.
  • GIT - Sei fazer com autonomia.
  • Figma - Sei fazer com autonomia.
  • GitHub - Possuo autonomia para ensinar.
  • Jira - Sei fazer com autonomia.

Soft Skills

  • Trabalho em Equipe: Percebi que a integrante responsável pelo frontend da Anamnese tinha dúvidas sobre a estrutura dos dados e a integração com a API. Proativamente, mapeei e documentei todos os campos e endpoints necessários, entregando um guia detalhado que facilitou a conexão entre as camadas e destravou o desenvolvimento da colega.
  • Pensamento Analítico: Durante a modelagem do banco de dados da Anamnese, precisei antecipar cenários complexos de saúde (alergias, cirurgias, histórico familiar). Analisei detalhadamente os requisitos para criar uma estrutura relacional que não apenas atendesse ao presente, mas que mantivesse a integridade dos dados a longo prazo.
  • Resolução de Problemas: Ao notar que um colega enfrentava dificuldades técnicas em sua tarefa de edição automática da anamnese, me coloquei prontamente à disposição para auxiliar. Atuamos em conjunto na identificação e correção do bug, garantindo o avanço e a conclusão da atividade dele.
  • Proatividade: Identifiquei uma demanda urgente (markdown do chat) que ainda não tinha responsável alocado. Assumi a iniciativa de pegar a tarefa para mim e executei a solução necessária o mais rápido possível, evitando problemas na entrega do projeto.

Vídeo do projeto - 6º Semestre: NutriMind

video_nutrimind.mov

About

Esse portfólio fala sobre minha carreira de estudante, profissional e dos cinco projetos realizados durante o meu curso de Análise e Desenvolvimento de Sistemas.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published