- Sobre o autor
- Primeiro Semestre - Lumen
- Segundo Semestre - AlgoPositivo
- Terceiro Semestre - ShapeTP
- Quarto Semestre - Project Sisatas
- Quinto Semestre - Bureauto/Bureauto Mobile
- Sexto Semestre - BTAlert
- Meus Principais Conhecimentos
- Contato
Estudante do 6º período de Análise e Desenvolvimento de Sistemas na Faculdade de Tecnologia de São José dos Campos - Prof. Jessen Vidal, atualmente Engenheiro de Software no isaac, uma fintech em São Paulo.
A Faculdade de Tecnologia de São José dos Campos — Prof. Jessen Vidal que pertence ao Centro Paula Souza, oferece cursos de graduação para formar tecnólogos.
Para acompanhar o crescimento da chamada indústria 4.0, a instituição propôs adotar uma estratégia de Aprendizado por Projeto Integrador (chamado API), e nesse segundo semestre de 2019, iniciou esse projeto e se disponibilizou como empresa parceira.
O projeto desenvolvido pelo grupo, denominado Lumen, tem o objetivo de criar uma solução de IoT (Internet das Coisas) acessível que seja capaz de atender a demanda de todas as categorias de clientes, sejam clientes residenciais ou a própria indústria 4.0.
O projeto surgiu da necessidade de acompanhar a evolução da tecnologia, com a crescente quantidade de dispositivos inteligentes no mercado. A proposta do projeto integrador era do desenvolvimento de um sistema de automação residencial, no qual há um hardware integrado à um aplicativo de celular, que controla o mesmo.
O principal diferencial do produto é a facilidade de manuseio com uma interface intuitiva, além de contar com um custo baixo no preço do hardware.
A aplicação foi desenvolvida com a proposta de criar uma automação residencial, controlando uma luz LED RGB a partir de qualquer ponto da sua casa, utilizando uma comunicação Bluetooth, além de ter a opção de controlar um cooler como adicional.
Também foi adicionado ao produto uma opção de realizar um feedback através de avaliação por estrelas, numeradas de 1 (não gostei) à 5 (adorei), para que assim possamos verificar possíveis melhorias futuras.
As tecnologias adotadas para a solução foram as seguintes:
-
MIT App Inventor, uma ferramenta desenvolvida pela Google e atualmente mantida pelo MIT, para confecção do aplicativo, que possui uma interface amigável para pessoas com pouco conhecimento de programação. O App Inventor é uma ferramenta para construção de aplicativos por meio de blocos de programação, tanto na parte lógica quanto na parte visual.
-
Firebase Realtime Database, um banco de dados NoSQL hospedado na nuvem, utilizado para armazenar as avaliações dos usuários (1 à 5 estrelas), via Wi-Fi.
-
Arduino IDE, para a criação da lógica que acompanha o hardware.
-
Arduino Uno Rev3, que é uma placa com um microcontrolador, que ficará responsável pelo controle das peças físicas (LED's e cooler), acompanhado do script criado junto da Arduino IDE.
-
Módulo Bluetooth HC05, para integração entre o equipamento físico (hardware) e o aplicativo. Ideal para comunicação sem fio simples e de média distância. Além de um sensor de umidade e temperatura DHT11 para automação do cooler, resistores e jumpers para conexão eletrônica entre os componentes, LED RGB e um cooler.
-
Linguagem de programação C++, utilizada para criar a lógica do código fonte que acompanha o Arduino.
Arquitetura da aplicação
Minhas contribuições neste projeto foram o desenvolvimento da interface do aplicativo no AppInventor, design dos icones layout e imagens, desenvolvimento do código em C++ para controlar os leds e a ventoinha, montagem e compra dos circuitos, eletrônicos e criação da maquete para demonstrar o funcionamento da aplicação.
- Programação: Sei fazer com autonomia.
- Desenho do aplicativo: Sei fazer com autonomia.
- Controle de versão com Git e Github: Sei fazer com autonomia.
- Montagem de circuitos com arduino: Sei fazer com autonomia.
- Empatia - Para entender o problema que o cliente queria que fosse resolvido, necessário durante toda a construção do projeto.
- Trabalho em equipe - Fundamental para que o projeto chegue até o cliente dentro do prazo e funcionando.
- Gerenciamento de tempo - Todos os membros tiveram que aprender a gerenciar melhor o tempo próprio para não deixar a equipe na mão.
- Autodidatismo - Fundamental para a nossa área, buscando aprender novas ferramentas e linguagens afim de solucionar o problema da melhor forma.
O SPC Brasil está junto com os brasileiros há mais de 60 anos, prestando serviços especializados a toda a sociedade. Oferecem soluções aos consumidores e empresários com o objetivo de facilitar a realização de negócios.
Mais do que auxiliar as empresas na concessão de crédito, o SPC Brasil apoia os processos de tomada de decisão com informações, inteligência, soluções de negócio e identidade digital.
Prévia da solução
Com a mudança do modelo de operação do Cadastro Positivo, surgiu a necessidade de realizar uma gestão da informação mais eficaz para garantir a qualidade, uso adequado e gerar valor através dos dados.
A partir desta necessidade, surgiu este projeto, denominado AlgoPositivo (Algoritmo Positivo) que tem o objetivo de analisar os dados pagamentos dos clientes de forma anônima, respeitando a LGPD. A partir destes dados, o programa irá gerar informações e indicadores de negócios, que avaliará os clientes com base nesse perfil de pagamentos traçado. Os indicadores criados poderão ser utilizados para auxiliar a tomada de decisões de oferecer ou não produtos e serviços para determinado público, além de ajudar a analisar a criação de novos produtos com base na região dos clientes.
As tecnologias adotadas para a solução foram as seguintes:
-
Python, uma linguagem de programação simples, intuitiva e de fácil aprendizado, escolhida pela equipe para que o foco da solução seja a geração dos indicadores de negócios.
-
SQLite3, um banco de dados relacional independente, por conta de sua leveza e velocidade, já que o projeto não necessitaria de algo muito mais robusto, uma vez que serviria apenas para guardar os endereços de emails que seriam enviados.
-
Para o envio de email foi usado a biblioteca embutida no Python chamada smtplib, simples de configurar e utilizar.
Arquitetura da aplicação
Para a construção do projeto, minha contribuição foi no desenvolvimento do script em Python para ler os arquivos enviados pelo cliente, tratar, processar e devolver um csv com as estatísticas que serão enviadas posteriormente por e-mail.
- Programação de scripts em python: Sei ensinar.
- Controle de versão com git e Github: Sei fazer com autonomia.
- Análise de dados: Sei fazer com autonomia.
- Empatia - Para entender a necessidade do cliente e construir uma aplicação que possa ajudá-lo e sanar essa necessidade.
- Trabalho em equipe - Fundamental para que o projeto chegue até o cliente dentro do prazo e funcionando.
- Gerenciamento de tempo - Do início ao fim do projeto, afinal, analisar dados e transformar em informação leva tempo que não pode ser desperdiçado.
- Autodidatismo - Buscando conhecimento sobre o cadastro positivo para conseguir gerar os indicadores de negócios, além da praticidade com o envio de e-mail.
A Visiona Tecnologia Espacial é uma joint-venture entre a Embraer Defesa & Segurança e a Telebras voltada para a integração de sistemas espaciais. Aliando as competências de integração de sistemas da Embraer com o conhecimento acumulado do INPE na integração de satélites, a Visiona tem um papel de liderança no setor, coordenando as ações empresariais da indústria de forma a prover soluções para as necessidades civis e militares brasileiras de satélites. A empresa foi a responsável pelo programa do Satélite Geoestacionário de Defesa e Comunicações Estratégicas, o SGDC, e é líder no mercado brasileiro de sensoriamento remoto orbital. Em 2018, a Visiona Tecnologia Espacial S.A. anunciou o programa do primeiro satélite desenvolvido por uma empresa privada, o VCUB, e concluiu com êxito o desenvolvimento do primeiro Sistema de Controle de Órbita e Atitude de satélites desenvolvido no Brasil.
Prévia da solução Postgresql para Shapefile
Prévia da solução Shapefile para Postgresql
Buscando cortes de custos e soluções open source, a empresa propôs o desenvolvimento de uma aplicação web local "mini-ETL" (Extract, Transform, Load), que converta arquivos em formato Shapefile para uma tabela existente do banco de dados PostgreSQL/PostGIS e que faça também o caminho inverso, ou seja buscar no banco de dados e devolver ao usuário um arquivo Shapefile. Atualmente, é utilizado uma aplicação paga para tal operação, portanto a necessidade de reduzir custos com um "mini-ETL" open source, que seja pensado para as necessidades especificas desta empresa, como realizar operações no banco de dados com dados providos de um arquivo Shapefile, ou para fácil manuseio dos dados por meio da transformação do mesmo em Shapefile.
As tecnologias adotadas para a solução foram as seguintes:
-
Java, uma linguagem de programação orientada a objetos, poderosa e confiável, escolhida pela equipe para que o foco da solução seja na qualidade do resultado final, pela integração simples usando a extensão PostGIS provida pelo PostgreSQL.
-
PostgreSQL um banco de dados relacional open source poderoso, robusto e perfomático, super simples de utilizar e com muitas ferramentas e extensões poderosas. Aliado ao PostgreSQL, temos também a extensão PostGIS, utilizada para manipulação e armazenamento de dados geoespaciais.
-
Java Server Pages, em conjunto com HTML5, CSS3 e JavaScript, para a construção da parte WEB da solução, visando a facilidade no manuseio da ferramenta ETL e disponibilidade para toda a equipe.
Arquitetura da aplicação
Para a construção do projeto, minha contribuição foi no desenvolvimento do backend da aplicação em JAVA, modelagem do banco de dados PostgreSQL e o desenvolvimento dos scripts que realizam o processo de ETL.
- Programação em Java: Sei fazer com autonomia.
- Controle de versão com git e Github: Sei fazer com autonomia.
- Utilizar tecnologias WEB (HTML, CSS e JavaScript): Sei fazer com autonomia.
- Utilizar banco de dados PostgreSQL: Sei fazer com autonomia.
- Empatia - Para entender a necessidade do cliente e construir uma aplicação que possa ajudá-lo a resolver o problema.
- Trabalho em equipe - Para divisão de tarefas para realizar as entregas no prazo.
- Gerenciamento de tempo - Do início ao fim do projeto, afinal, analisar dados e transformar em informação leva tempo que não pode ser desperdiçado.
- Autodidatismo - Buscando conhecimento essa nova área de processamento de dados geoespaciais, além de conhecer a extensão PostGIS para a manipulação dos mesmos.
A IACIT é uma empresa brasileira, fundada em 1986, e com sede em São José dos Campos (SP), um importante polo da indústria aeroespacial do Brasil. A empresa possui capacitação tecnológica para o desenvolvimento de produtos e sistemas aplicados ao Auxílio do Controle e do Tráfego Aéreo e Marítimo; Defesa e Segurança Pública; Fábrica de Software; Meteorologia; Pesquisa, Desenvolvimento e Inovação e Telemetria. Certificada como Empresa Estratégica de Defesa (EED), a IACIT deposita seu conhecimento técnico e o desenvolvimento tecnológico em produtos e sistemas de alta tecnologia, no mais puro estado da arte.
Prévia da solução e funcionalidades
O tema do projeto era um CRUD Sistema Web com regra de negócio complexa em ambiente de produção (Deploy), e o desafio consiste em desenvolver um sistema de Gestão de Atas de Reunião visando as funcionalidades de cadastro,
controle de acesso, logs de execução, geração e monitoramento de ata de reunião e assinatura digital.
Adicionalmente, relatórios analíticos são pontos interessantes de agregação de valor ao projeto.
Com isso foi desenvolvido o Sisatas, um sistema web para gerenciar suas atas de qualquer lugar com acesso a internet, visando a praticidade na hora da criação, adição de membros participantes da Ata, além de contar com funcionalidades como exportação em PDF ou Excel, criação de revisões e comentários, e envio por e-mail.
As tecnologias adotadas para a solução foram as seguintes:
-
Java, uma linguagem de programação orientada a objetos, poderosa e confiável, escolhida pela equipe para que o foco da solução seja na qualidade do resultado final, além de usar todo o poder da orientação a objetos, para melhor definição das regras de negócio da aplicação.
-
Spring é um framework open source para a plataforma Java. Trata-se de um framework não intrusivo, baseado nos padrões de projeto inversão de controle e injeção de dependência. Faz com que a programação em Java seja mais rápida, fácil e segura, focando na regra de negócio da solução.
-
Maven uma ferramenta de gerenciamento e compreensão de projetos de software, para controle de dependências do projeto e fácil réplica do mesmo.
-
PostgreSQL um banco de dados relacional open source poderoso, robusto e perfomático, super simples de utilizar e com muitas ferramentas e extensões poderosas.
-
Para o frontend, foram escolhido o ReactJS, um framework para desenvolvimento de interfaces simples e interativas, baseadas em componentização, aliado com a biblioteca MaterialUI, que conta com diversos componentes estilizados pré-prontos, facilitando o desenvolvimento.
Diagrama de contexto
Diagrama de contexto
Para a construção do projeto, minha contribuição foi no desenvolvimento do backend da aplicação em JAVA responsável por gerar as atas em excel e enviar para o usuário poder baixar e desenvolvimento de alguns controllers para a aplicação.
- Programação em Java: Sei fazer com autonomia.
- Controle de versão com git e Github: Sei fazer com autonomia.
- Utilizar banco de dados PostgreSQL: Sei fazer com autonomia.
- Empatia - Para entender a necessidade do cliente e construir uma aplicação que possa ajudá-lo a resolver o problema.
- Trabalho em equipe - Para divisão de tarefas para realizar as entregas no prazo.
- Gerenciamento de tempo - Do início ao fim do projeto, afinal, analisar dados e transformar em informação leva tempo que não pode ser desperdiçado.
- Autodidatismo - Buscando novos frameworks e bibliotecas, para melhor gestão do projeto e desenvolvimento simplificado do projeto.
A GSW é uma empresa 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.
Com 25 anos de experiência em projetos globais de TI e mais de 400 colaboradores espalhados por 6 unidades, a GSW oferece portfólio abrangente, construído através de sólidas alianças com empresas de soluções globais em TI, como Thomson Reuters, SAP, Microsoft, IBM, Oracle e Salesforce.
A GSW tem maturidade para atender praticamente todas as demandas de seus clientes, desde desenvolvimento de software, implantação de ERP e sistemas satélites, até alocação de profissionais técnicos e funcionais.
Prévia da solução web
Prévia da solução mobile
O tema do projeto desse segundo semestre de 2021 foi um sistema back e front com grandes volumes de dados, com front mobile. O desafio era criar um portal de vendas de veículos, no qual há métricas tanto para o administrador quanto para o anunciante, além de ter um chat em tempo real e a segurança dos dados na plataforma.
As tecnologias adotadas para a solução foram as seguintes:
-
Node JS, uma ferramenta para execução de código Javascript fora do navegador, para construção do servidor da aplicação.
-
Vue JS é um framework open source para o desenvolvimento de interfaces com foco no SPA (Single Page Application). Muito simples e intuitivo de se utilizar.
-
PostgreSQL um banco de dados relacional open source poderoso, robusto e perfomático, super simples de utilizar e com muitas ferramentas e extensões poderosas.
-
Para o frontend, aliado ao Vue JS, foi escolhido a biblioteca Vuetify, que conta com diversos componentes estilizados e responsivos pré-prontos, facilitando o desenvolvimento.
-
Para o mobile foi escolhido o framework React Native, que conta com código Javascript para desenvolvimento Nativo de apps mobile, que serve igualmente para Android e iOS.
Para a construção do projeto, minha contribuição foi no desenvolvimento do backend da aplicação em JavaScript, estruturação da base para a desenvolver o projeto tanto backend quanto frontend e criação de todo o banco de dados, tabelas, triggers, funções, incluindo a criptografia dos dados de usuário, estruturação do TypeORM e criação de regras para o eslint.
- Programação com Node: Sei fazer com autonomia.
- Programação com Vue: Sei fazer com autonomia.
- Utilizar banco de dados PostgreSQL: Sei fazer com autonomia.
- Empatia - Para entender a necessidade do cliente e construir uma aplicação que possa ajudá-lo a resolver o problema.
- Trabalho em equipe - Para divisão de tarefas para realizar as entregas no prazo.
- Gerenciamento de tempo - Do início ao fim do projeto, pois havia muita coisa para ser desenvolvida, além de ser um caminho obscuro o desenvolvimento mobile, já que a equipe nunca havia feito antes.
- Autodidatismo - Buscando novos frameworks e bibliotecas, para melhor gestão do projeto e desenvolvimento simplificado do projeto.
- Autocontrole e paciência - Por ser tratar de um projeto com complexidade média em regra de negócio, mas com muitas partes a serem desenvolvidas foi necessário ter um bom autocontrole e ser calmo para que a conclusão do mesmo pudesse ser feita da melhor forma possível.
O Grupo UOL é uma empresa brasileira de conteúdo, tecnologia, serviços e meios de pagamentos. Ela está no mercado desde 1996 e sua homepage recebe mais de 114 milhões de visitantes únicos por mês.
Gráfico de comparação da saúde do sistema prevista pela IA vs a real
Para a geração dos dados com a finalidade de treinar o modelo de inteligência artificial, foi utilizado o Locust para gerar um stress no sistema alvo, onde uma máquina rodaria o sistema em questão, e outras máquinas realizariam o stress, atacando a máquina principal. A aplicação alvo é um sistema web de CRUD para usuários, onde temos VueJS no client e uma API em Java com SpringBoot no server. O modelo de inteligência artificial utilizado foi uma rede neural com o algoritmo LSTM (Long Short-Time Memory), por conta da sua capacidade de previsão multi-feature ao longo de séries temporais e a capacidade de lembrar do passado (leva em consideração X passos ocorridos para prever o futuro).
O tema do projeto desse primeiro semestre de 2022 foi um sistema de previsão de quebra de sistema web. O desafio consiste em criar uma inteligência artificial capaz de prever em quanto tempo um sistema web muito provavelmente irá ficar indisponível dado as condições atuais do sistema.
As tecnologias adotadas para a solução foram as seguintes:
-
Java, uma linguagem de programação orientada a objetos, poderosa e confiável, escolhida pela equipe para que possa aguentar bem os testes de carga.
-
Spring é um framework open source para a plataforma Java. Trata-se de um framework não intrusivo, baseado nos padrões de projeto inversão de controle e injeção de dependência. Faz com que a programação em Java seja mais rápida, fácil e segura, focando na implementação da solução.
-
Maven uma ferramenta de gerenciamento e compreensão de projetos de software, para controle de dependências do projeto e fácil réplica do mesmo.
-
PostgreSQL um banco de dados relacional open source poderoso, robusto e perfomático, super simples de utilizar e com muitas ferramentas e extensões poderosas.
-
Vue JS é um framework open source para o desenvolvimento de interfaces com foco no SPA (Single Page Application). Muito simples e intuitivo de se utilizar.
-
Para o frontend, aliado ao Vue JS, foi escolhido a biblioteca Vuetify, que conta com diversos componentes estilizados e responsivos pré-prontos, facilitando o desenvolvimento.
-
Python, uma linguagem de programação simples, intuitiva e de fácil aprendizado, além de ser poderosa para Machine Learning.
Minha contribuição no projeto foi a estruturação de toda a base, organização e configuração dos repositórios da solução, criação dos Dockerfiles, configuração de CI/CD, desenvolvimento do servidor da aplicação de teste em Java, estruturação do banco de dados e auxiliar outros desenvolvedores.
- Programação web com Vue JS: Sei fazer com autonomia.
- Utilizar biblioteca Vuetify: Sei fazer com autonomia.
- Programação web com Java: Sei fazer com autonomia.
- Programação Machine Learning com Python: Sei fazer com ajuda.
- Utilizar banco de dados PostgreSQL: Sei fazer com autonomia.
- Utilização de Docker: Sei fazer com autonomia.
- Empatia - Para entender a necessidade do cliente e construir uma aplicação que possa ajudá-lo a resolver o problema.
- Trabalho em equipe - Para divisão de tarefas para realizar as entregas no prazo.
- Gerenciamento de tempo - Do início ao fim do projeto, pois foi um projeto bem complicado no início, uma vez que foi complicado entender o que devíamos olhar e procurar.
- Autodidatismo - Buscando aprender novos frameworks e bibliotecas, para melhor gestão do projeto e desenvolvimento simplificado do projeto.
- Autocontrole e paciência - Por ser tratar de um projeto com complexidade média/alta em entendimento e resolução do problema, foi necessário ter um bom autocontrole e ser calmo para que a conclusão do mesmo pudesse ser feita da melhor forma possível.
Atualmente sei programar em Python, Go, R, JavaScript, Lua, Ruby, Java, C#, C/C++ e Pascal. Possuo conhecimentos em POO, Estruturas de Dados, HTML, CSS, Bootstrap, React, Vue, Node, Flask, postgreSQL, SQLite, MySQL, Oracle, Git/Github, AWS, Scrum e metodologias ágeis.