Skip to content

Latest commit

 

History

14 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 

Repository files navigation

Portifólio das APIs de Banco de Dados - Patrick Gabriel de Souza

Sobre Mim

Com 25 anos de idade, sou estudante do 6º semestre do curso de Banco de Dados na FATEC de São José dos Campos - Prof. Jessen Vidal. Nesse programa acadêmico, tive a oportunidade de participar de alguns projetos integradores em parceria com diversas empresas, o que me proporcionou um contato direto com clientes e desafios reais enfrentados tanto por empresas de pequeno porte quanto por multinacionais.

Ao longo dos meus estudos durante esses 6 semestres, concentrei-me não apenas no desenvolvimento de habilidades técnicas (hard skills), mas também no aprimoramento das competências interpessoais (soft skills). Participei ativamente de equipes que utilizam Metodologia Ágil, o que me permitiu adquirir experiência em colaboração, comunicação eficaz e trabalho em equipe.

Estou empenhado em me tornar um profissional completo na área de Desenvolvimento de Software e Banco de Dados, buscando constantemente atualizações e aprimoramentos para acompanhar as demandas do mercado e fornecer soluções eficientes para os desafios enfrentados pelas empresas.

Atualmente, ocupo a posição de estagiário de desenvolvimento de software multiplataforma na Embraer. No escopo das minhas atribuições, destaco-me pelo desempenho de atividades que abrangem o levantamento de requisitos, bem como o desenvolvimento integral do software, tanto na esfera de back-end quanto front-end. Além disso, sou responsável pela modelagem de dados, contribuindo assim de maneira abrangente para o ciclo de vida do desenvolvimento de software na organização.

Projetos

1º - FATEC

Projeto 1: 2º Semestre de 2021

Projeto Integrador - 1° Semestre | Fatec Prof. Jessen Vidal - 2021 | Cliente parceiro: Fatec

Visão do Projeto

Desenvolvido com o objetivo de aprimorar a acessibilidade e simplificar a obtenção dos dados relacionados à COVID-19 disponibilizados pelo Estado de São Paulo, o SPanel é uma plataforma concebida para fornecer aos usuários acesso direto e intuitivo às informações essenciais. Com uma interface amigável e funcionalidades intuitivas, o SPanel busca oferecer uma experiência eficiente e transparente na visualização e compreensão dos números relacionados à pandemia. Seu propósito é fornecer uma ferramenta que permita aos usuários acessar os dados de forma fácil e eficaz, contribuindo assim para uma maior conscientização e tomada de decisões informadas no enfrentamento da pandemia.

Tecnologias adotadas na solução

Front-End
Back-End

Contribuições pessoais

Desenvolvimento do Bot

Leitura e Manipulação dos dados

Utilizei a biblioteca "Pandas" para ler e manipular os dados fornecidos pelo back-end, realiza algumas operações de manipulação de dados, como a soma de colunas específicas no DataFrame e a identificação da data mais recente no DataFrame. Fiz a formatação de números de casos, óbitos, população, para facilitar a leitura e apresentação no bot do Telegram.

API Bot do Telegram

Utilizei a biblioteca "pytelegrambotapi" para criar um bot do Telegram com uma interface simples e intuitiva, o usuário pode selecionar os dados que gostaria de visualizar, defini comandos para diferentes funcionalidades, assim passando as opções para o usuário em seu próprio Telegram.

  • /drs: Apresenta dados do Departamento Regional de Saúde, incluindo ocupação de leitos, leitos de UTI, internações, etc.
  • /obitos: Apresenta dados sobre óbitos, incluindo óbitos totais e novos óbitos.
  • /imunizados: Apresenta dados sobre pessoas imunizadas.
  • /casos: Apresenta dados sobre casos totais e novos casos.
  • /pop: Apresenta a população do estado de São Paulo.
  • /dados: Solicita ao usuário que escolha o que visualizar entre óbitos, imunizados e casos.
  • /sobre: Fornece informações sobre o projeto SPanel, incluindo contatos e links.

Hard Skills

  • Python - Básico

  • Pandas - Básico

  • Consumo de API - Básico

  • Github - Básico

Soft Skills

Trabalho em Equipe

  • Este foi meu primeiro projeto em uma equipe Scrum, onde tive que aprender completamente o fluxo de trabalho do zero, desde as reuniões diárias até as cerimônias de planejamento e revisão.

Autonomia

  • Ao dar meus primeiros passos na programação, precisei exercer minha autonomia ao estudar as ferramentas que utilizaríamos no desenvolvimento.

Resolução de problemas

  • Junto com a equipe, solucionei problemas diversos como as inconsistencias da base de dados que nos foi fornecida como na parte de datas e alguns dados que não eram relevantes para o bot.
2º - Dom Rock

Projeto 2: 1º Semestre de 2022

Projeto Integrador - 2° Semestre | Fatec Prof. Jessen Vidal - 2022 | Cliente parceiro: Dom Rock

Visão do Projeto

Este projeto consiste em um sistema de gerenciamento de clientes, uma aplicação desktop desenvolvida em Java que utiliza um banco de dados relacional para cadastrar e armazenar os dados do briefing dos clientes. Além do cadastro, a aplicação oferece funcionalidades de consulta, edição, geração de relatórios, logs e exportação de dados. Para garantir a segurança, o sistema implementa níveis de acesso para os usuários, assegurando a proteção dos dados na plataforma.

Tecnologias adotadas na solução

Front-End
Back-End
Banco de Dados

Contribuições pessoais

Front-End

Wireframes

Desde o início até o término do projeto, dediquei-me à elaboração de wireframes para validar a aplicação com o cliente, mantendo sempre em mente a prioridade na funcionalidade e na experiência do usuário. Os wireframes serviram como uma ferramenta essencial para comunicar visualmente as ideias e conceitos do projeto.

Telas da aplicação

Neste projeto, fui responsável pelo front-end, abrangendo tanto o design quanto o desenvolvimento das telas de escopo, produto e funcionalidade, bem como as fases de bronze, silver e gold. Além disso, cuidei da estilização e responsividade de todas as telas e componentes, garantindo uma experiência de usuário de forma prática e efetiva.

Hard Skills

  • HTML - Intermediário
  • CSS - Básico
  • JavaFX - Intermediário
  • Figma - Básico

Soft Skills

Adaptabilidade

  • Com uma nova ferramenta totalmente diferente daquela que eu estava acostumado, precisei estudá-la e me adaptar ao modelo de desenvolvimento que ela proporcionava, para assim atender às necessidades da equipe.

Criatividade

  • Devido à limitação da ferramenta que estávamos utilizando neste projeto (Scene Builder), foi necessário aplicar bastante criatividade para cumprir os designs e funcionalidades desenvolvidas em equipe..

Resolução de problemas

  • Durante este projeto tive diversos problemas com a responsividade e com toda a integração da ferramenta onde precisei adaptar muitas funcionalidades para a ferramenta utilizada.
3º - IACIT

Projeto 3: 2º Semestre de 2022

Projeto Integrador - 3° Semestre | Fatec Prof. Jessen Vidal - 2022 | Cliente parceiro: IACIT

Visão do Projeto

Desenvolvemos uma aplicação completa e altamente funcional para baixar, tratar, filtrar e apresentar dados meteorológicos em nível nacional de forma visualmente atraente e fácil de entender. Trabalhando em estreita colaboração com nossos clientes parceiros, cada detalhe da aplicação, desde a seleção dos dados até a forma como são apresentados, foi decidido em conjunto para garantir que atendesse às necessidades específicas e preferências dos usuários.

Tecnologias adotadas na solução

Front-End
Back-End
Banco de Dados

Contribuições pessoais

Front-End

Desenvolvimento das telas

Implementei o desenvolvimento de telas em um aplicativo Spring Boot utilizando o framework Thymeleaf. Criei as páginas HTML para cada tela desejada, definindo sua estrutura e layout. Integrei as páginas HTML ao aplicativo Spring Boot, utilizando recursos do Thymeleaf para renderizar dados dinâmicos e processar lógica condicional. Implementei a navegação entre as telas e obtive um aplicativo com telas funcionais e interativas.

Estilização

Realizei a estilização e manutenção das telas do aplicativo, priorizando a adaptabilidade para dispositivos móveis. Utilizei Css e técnicas de design responsivo para ajustar o layout e os estilos das telas em diferentes tamanhos de tela. Realizei testes em diversos dispositivos e implementei práticas de manutenção para garantir uma experiência consistente. As telas foram estilizadas de forma responsiva, proporcionando uma experiência de usuário otimizada em dispositivos móveis.

Estilizei os gráficos nas telas de relatórios do aplicativo, utilizando bibliotecas de gráficos para criar visualizações interativas. Apliquei estilos personalizados aos gráficos, garantindo uma aparência profissional e adaptando-os a diferentes tamanhos de tela. Realizei testes em vários dispositivos para garantir uma experiência visual agradável. Os gráficos nas telas de relatórios oferecem uma representação clara e atraente dos dados aos usuários..

Back-End

Código de Download

Desenvolvi um código de automação de download que baixa um arquivo .ZIP de dados históricos de uma URL com base em um ano fornecido como parâmetro. Ele cria um diretório específico para o ano, excluindo-o primeiro se já existir. O arquivo baixado é salvo nesse diretório. O código também registra informações sobre a execução em um arquivo de log chamado "log.txt". Ao chamar esse método, os arquivos contidos no arquivo ZIP são extraídos e colocados no diretório específico, facilitando o acesso e a manipulação desses arquivos. A remoção do arquivo ZIP economiza espaço em disco, uma vez que os arquivos já foram extraídos. Essa funcionalidade pode ser útil em cenários onde você precisa processar ou analisar os dados contidos nos arquivos ZIP baixados, e a extração automatizada simplifica o processo, economizando tempo e esforço.

Mapeamento das Tabelas do banco

Implementei o mapeamento das tabelas do banco de dados em um aplicativo Spring Boot usando o Spring Data JPA. Defini entidades Java anotadas com @Entity para representar as tabelas. Utilizei anotações como @Column, @Id, @GeneratedValue, @OneToOne, @OneToMany para mapear as colunas e relacionamentos entre as tabelas. Criei interfaces de repositório estendendo JpaRepository para executar operações CRUD. Configurei o provedor de persistência no arquivo application.properties ou application.yml. Durante a inicialização do aplicativo, o Spring Data JPA cria automaticamente as tabelas com base nas entidades definidas. Agora posso interagir com o banco de dados facilmente usando os métodos fornecidos pelos repositórios.

Hard Skills

  • Python - Intermediário
  • Java - Básico
  • Spring Boot - Básico
  • Automação de Download - Básico
  • HTML - Intermediário
  • CSS - Intermediário
  • GitHub - Intermediário

Soft Skills

Proatividade

  • Auxiliei outros colegas de equipe com tarefas relacionadas ao Front-End, aproveitando minha experiência anterior em responsividade e estilização..

Flexibilidade

  • Durante este projeto atuei tanto no Back-End como no Front-End e me adaptando bem a nova função.

Resolução de problemas

  • Dentro de uma da atividade de automação de downloads me deparei com problemas como o acumulo de dados antigos os quais eu resolvi durante o desenvolvimento utilizado a biblioteca OS do Python.
4º - Embraer

Projeto 4: 1º Semestre de 2023

Projeto Integrador - 4° Semestre | Fatec Prof. Jessen Vidal - 2023 | Cliente parceiro: Embraer

Visão do Projeto

Desenvolver um software web responsivo e intuitivo para a Embraer, proporcionando uma solução completa para importação, manipulação, processamento e visualização de dados relacionados a chassis, boletins de serviço e aplicabilidade de melhorias. O sistema, também oferecerá três níveis de acesso - Piloto, Cliente e Administrador - com um painel administrativo avançado para gerenciamento de usuários e visualização de dados por meio de dashboards.

Tecnologias adotadas na solução

Front-End
Back-End
Banco de Dados

Contribuições pessoais

Front-End
Ao longo do desenvolvimento do projeto, minha contribuição desempenhou um papel na criação de uma experiência de usuário, focada na estética, usabilidade e responsividade. Como responsável pela implementação das telas da aplicação em Vue, bem como pela elaboração do CSS e da responsividade.

Desenvolvimento de Telas Vue:

Implementação Eficaz:

Utilizei o framework Vue para traduzir os designs em interfaces interativas e funcionais. Garanti a consistência visual e a fidelidade ao design original, assegurando uma experiência de usuário coesa em todas as páginas da aplicação.

Componentização Inteligente:

Adotei uma abordagem modular na criação de componentes Vue, promovendo a reutilização de código e facilitando a manutenção ao longo do ciclo de vida do projeto.

Estilização com CSS:

Design Responsivo

Implementei CSS de forma estratégica para garantir que a aplicação fosse visualmente agradável e funcional em diversos dispositivos, como desktops, tablets e smartphones. Ajustei o layout e a disposição dos elementos, garantindo uma experiência consistente e intuitiva em todas as resoluções de tela.

Implementei variáveis de estilo para facilitar a manutenção e ajustes futuros na estilização além de manter uma padronização para os componentes.

Banco de Dados

Conexão do Autonomous Database

Executei a conexão do banco de dados com a aplicação, por meio da pasta Wallet e configurando todo o ambiente em que o Banco de dados estava hospedado.

Modelagem de Dados:

Contribui para a modelagem de dados de forma eficiente, considerando as relações entre entidades e as necessidades específicas da Embraer. Garanti que a estrutura do banco de dados fosse intuitiva e otimizada para consultas frequentes.

Implementação de SQL e PL/SQL:

Desenvolvi consultas SQL eficientes para atender às demandas do aplicativo. Utilizei PL/SQL quando necessário para criar procedimentos armazenados e funções que possam melhorar o desempenho.

Documentação do Banco de Dados

Ao decorrer do projeto documentei tanto as Querys quanto toda a modelagem do banco de dados e seu dicionário de dados. A documentação pode ser encontrada em Repositorio do projeto e Querys.

Scrum Master

Como Scrum Master, minha responsabilidade foi conduzir e coordenar as atividades do projeto. Isso incluiu garantir que as tarefas durante as sprints fossem gerenciadas de forma eficaz, mantendo todos os membros da equipe alinhados com os objetivos e prazos estabelecidos. Também contribuí para o desenvolvimento e elaboração da documentação do projeto, garantindo que todos os aspectos importantes fossem adequadamente registrados e comunicados às partes interessadas.

Hard Skills

  • JavaScript - Intermediário
  • CSS - Intermediário
  • Vue - Básico
  • Chart.JS - Básico
  • Banco de dados - Intermediário
  • Autonomous Database - Básico

Soft Skills

Adaptabilidade

  • Precisei exercitar minha adaptabilidade quando entrei para outro grupo onde a mão de obra era menor que do time anterior.

Gestão de Tempo

  • Devido a pouca mão de obra a gestão de tempo foi fundamental para o desenvolvimento do projeto onde devíamos acompanhar cada tasks com atenção aos prazos.

Flexibilidade

  • Durante este projeto atuei como Scrum Master, responsável pelo Front-End e pelo Banco de Dados, onde precisei me flexibilizar entre todas as funções a serem exercidas.

Criatividade

  • Precisei exercitar minha criatividade ao me deparar com designs diferentes para cada plataforma como o Web e o Mobile.
5º - Oracle

Projeto 5: 2º Semestre de 2023

Projeto Integrador - 5° Semestre | Fatec Prof. Jessen Vidal - 2023 | Cliente parceiro: Oracle


Visão do Projeto

Esta aplicação consiste em um sistema abrangente que ofereçe recursos como dashboards, gráficos, relatórios e funcionalidades para gerenciamento de pessoal, fornecedores e suprimentos. A gestão de fornecedores vai da avaliação de desempenho ao monitoramento de contratos. Além disso, há recursos dedicados à administração de suprimentos, como controle de estoque, gestão de pedidos e monitoramento de entregas. Essa abordagem integrada visa atender eficientemente às demandas essenciais da gestão empresarial.

Tecnologias adotadas na solução

Front-End
Back-End
Banco de Dados

Contribuições pessoais

Front-End

Design e criação de telas

Desenvolvi os protótipos das telas para garantir que nossa aplicação atendesse às expectativas do cliente tanto em termos de funcionalidade quanto de estética. Essa fase foi crucial para aprimorar o design, assegurando que a experiência do usuário estivesse alinhada com os objetivos do projeto. Ao criar os protótipos, pude analisar de forma prática as interações e os fluxos de navegação, proporcionando uma visão concreta da interface do usuário.

Importação dos dados via CSV

No decorrer do projeto, identificou-se a necessidade de incorporar dados ao banco por meio de arquivos CSV. A importação desses dados foi executada usando Axios. Nessa abordagem, o usuário carregava o arquivo diretamente em uma página da aplicação, sendo então enviado ao endpoint do backend por meio de um método POST.

Criação das tabelas

Para a exibição dos dados na aplição foram utilizadas tabelas, onde eu consumi os dados passados pelo endpoint do backend em um método GET e apliquei nas tabelas para uma melhor visualizaçãos dos dados. Isso proporcionou organização eficiente, facilitando a visualização e garantindo uma experiência intuitiva para os usuários.

Criação de filtros para as tabelas

Devido à quantidade significativa de dados nas tabelas, implementei filtros para aprimorar a rapidez e praticidade da navegação. Essa medida permitiu que os usuários realizassem buscas específicas ou aplicassem filtros para refinar os dados exibidos na tabela.

Integração do PowerBI com a aplicação

Em determinada fase do projeto, percebi que apenas os dados das tabelas não proporcionavam um acompanhamento rápido e prático. Diante dessa necessidade, realizei a integração do PowerBI com o frontend.

Além disso, implementei a funcionalidade que permite acessar tanto o Dashboard do PowerBI quanto as tabelas na mesma tela. Essa abordagem oferece aos usuários a flexibilidade de escolher a visualização que melhor atende às suas necessidades, proporcionando uma experiência mais completa

Hard Skills

  • JavaScript - Intermediário
  • CSS - Intermediário
  • Vue - Intermediário
  • Figma - Intermediário
  • PowerBi - Básico
  • GitHub - Intermediário

Soft Skills

Organização

  • Em determinado ponto do projeto, foi necessário reorganizá-lo, pois estávamos desfalcados e precisávamos atender aos requisitos.

Criatividade

  • Durante o desenvolvimento dos protótipos das telas, precisávamos incluir o máximo de insights possíveis sem comprometer a experiência do usuário. Tive a ideia de dividir os insights em gráficos e tabelas.

Empatia

  • Ao integrar um novo grupo, conheci alguns alunos com dificuldades em certas áreas e me esforcei para ajudar no que pude.
6º - Imagem / ESRI

Projeto 6: 1º Semestre de 2024

Projeto Integrador - 6° Semestre | Fatec Prof. Jessen Vidal - 2024 | Cliente parceiro: Imagem / ESRI


Visão do Projeto

O propósito desta solução é oferecer uma vasta gama de insights para nosso cliente, fazendo uso tanto de nossa base de dados quanto da análise de sentimentos realizada por uma inteligência artificial. Isso é acompanhado por uma visualização simples e intuitiva, projetada especificamente para a usabilidade do usuário final.

Tecnologias adotadas na solução

Front-End
Back-End
Banco de Dados

Contribuições pessoais

Front-End

Desing e criação de telas

Auxiliei em todas as etapas do design do produto, inclusive na reestruturação completa do design de uma entrega para outra. Participei ativamente no desenvolvimento da maioria das telas da aplicação.

Mapa de Calor com dados das vendas nacionais

O cliente solicitou uma visualização dos dados através de um mapa de calor. Desenvolvi essa visualização utilizando o mapa do Brasil, onde os nossos dados estão concentrados.

Autenticação de Usuário

Desenvolvi a autenticação de usuários utilizando o Firebase, implementando todo o sistema de cadastro e login. Esse trabalho incluiu a configuração segura das credenciais dos usuários, a integração com a interface da aplicação.

Controle de Dados do usuário

Durante o desenvolvimento da aplicação, fui responsável por gerenciar os dados dos usuários, incluindo a exibição e modificação, para garantir conformidade com os requisitos da LGPD.

Versionamento dos termos da aplicação

Desenvolvi a lógica completa de versionamento dos termos da aplicação, desde a criação de novos termos até a inclusão de opcionais, além do histórico de aceites do usuário.

Hard Skills

  • JavaScript - Avançado
  • CSS - Intermediário
  • React.js - Intermediário
  • Figma - Intermediário
  • Firebase - Básico
  • GitHub - Avançado

Soft Skills

Negociação

  • Ao longo das entregas, negociamos com o cliente sobre uma funcionalidade que violava os direitos do usuário, assegurando que nenhuma violação ocorresse.

Resiliência

  • Após a primeira entrega, ficamos insatisfeitos com o design da aplicação. Por isso, nos organizamos e reestruturamos todo o front-end.

Pensamento Analítico

  • Vendo que o time do back-end estava com dificuldades com a autenticação de usuario, desenvolvi a autenticação de usuário com firebase reduzindo a carga de trabalho do back-end.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors