Ada Hack | Hackathon Ada Tech

No ano de 2023, enquanto buscava por uma oportunidade no mercado de trabalho, conheci a Ada Tech, e participei do processo seletivo para a formação Vem Ser Tech patrocinada pelo iFood.

Foi um processo seletivo muito concorrido, do qual participaram mais de 50 mil alunos no país inteiro, e estes alunos foram divididos em 4 trilhas, mas apenas um pouco mais de 5 mil passaram por todas as etapas do processo e tiveram a oportunidade de fazer o curso, e eu tenho orgulho de dizer que fui um deles.

Para saber mais sobre este curso e o processo seletivo, clique aqui.

Após o final dd curso no mês de Março de 2024, os alunos foram convidados a participar de mais um evento, um Hackathon, onde cerca de 200 alunos de todas as trilhas participaram.

Neste evento, todos os grupos receberam um problema, e tiveram que desenvolver uma solução baseada em sua respectiva trilha. O case que recebemos foi o seguinte:

Case Ada Hack

Com base nisso, cada grupo teve que desenvolver uma solução baseada  em sua respectiva trilha (Front End, Back End, DevOps ou dados). No meu caso, como eu fazia parte da trilha de Back End, a solução que tivemos que desenvolver foi a seguinte:

Desafio trilha Back End Ada Hack

Com o desafio em mãos, utilizamos o conhecimento adquirido no curso para desenvolver um , MVP da nossa solução, uma API que recebe além dos dados pessoais dos candidatos, recebe também vários dados referentes a diversidade daquele candidato (como etnia, identidade de gênero, orientação sexual, e se esse candidato é PcD ou não).

E mesmo após o candidato ser contratado e virar um funcionário, esses dados de diversidade seguirão no banco de dados da empresa, assim fornecendo a possibilidade de relatórios estatísticos de diversidade não apenas dos candidatos, mas também dos funcionários que já trabalham na empresa.

Funcionalidades do nosso MVP:

Além do projeto em si, que foi muito legal de fazer, tivemos também 2 mentorias com um professor da Ada Tech durante o curso, e posso dizer com certeza que essas mentorias foram essenciais para nosso grupo, pois nos ajudaram a dar o direcionamento pelo melhor caminho a ser seguido em função do curto espaço de tempo e da enorme quantidade de trabalho.

Encerramento do Hackathon

Tenho muito orgulho de dizer que ao final do evento, minha equipe foi declarada campeã da trilha de Back End onde haviam 5 equipes concorrendo nesta trilha.

Para quem quiser saber mais sobre este projeto, segue abaixo o link do repositório no GitHub, e também da documentação da API no deploy feito no Render.

ATENÇÃO: Ao entrar na documentação da API, você terá a possibilidade de cadastrar pessoas e fazer login com as pessoas que você cadastrou, mas não será capaz de acessar as demais rotas pois as pessoas que se cadastram no sistema recebem por padrão o nível de acesso 0, ou seja, não podem acessar as  demais rotas do sistema. Caso queira ter acesso a mais consultas, faça login com o email “[email protected]” e senha “1234”.

Essa certamente foi uma excelente experiência, tanto pelo aprendizado, quanto pelas amizades que fiz durante este evento.

Empower Code PcD Zenvia

Durante minha busca por uma primeira oportunidade, me deparei com mais um projeto que parecia muito interessante.

Após me candidatar para uma vaga na empresa Zenvia, recebi um E-mail da empresa, informando sobre um projeto chamado “Empower Code PcD”. Depois de ler sobre o projeto, e ver que era para pessoas com deficiência, me inscrevi imediatamente.

Alguns dias depois da inscrição, tive uma entrevista com uma das funcionárias da empresa para que eles pudessem me conhecer um pouco melhor e entender qual era o meu objetivo. Depois de algumas semanas, recebi finalmente o E-mail confirmando que eu havia sido selecionado, algo que me deixou muito animado.

No dia 11/09/2023, ocorreu a abertura do evento, onde eu e os outros alunos fomos apresentados ao pessoal da Zenvia e da Alura, e recebemos maiores informações sobre como o curso funcionaria.

Um pouco sobre o curso

O curso Empower Code PcD consiste principalmente em fundamentos básicos de desenvolvimento Web, com HTML, CSS e Javascript, e ao longo do curso seriam realizadas monitorias com o pessoal da Alura.

Além das monitorias, outra coisa que eu achei muito legal nesse curso, é o fato de recebermos mentorias com o pessoal da Zenvia, o que é ótimo não apenas para esclarecimento de eventuais dúvidas, mas também para ampliarmos nossa rede, e podermos mostrar mais do nosso trabalho.

Durante o curso, tive duas mentorias com minha mentora Ariane Ramos, e ela me ajudou muito dando dicas sobre como eu poderia evoluir, e qual caminho eu deveria seguir neste momento. Eu sou muito grato a ela pela ajuda que ela me deu.

Durante o curso, vimos conceitos  de HTML, CSS e JavaScript, estilizações, manipulação do DOM, entre outros.

Além disso, tivemos também alguns projetos durante o curso, para colocar em prática os conhecimentos adquiridos.

Um desses projetos foi o DevBoard, onde nós alunos criamos cartões de apresentação com algumas informações sobre nós, e também tem uma barra de pesquisa para digitar os nomes dos alunos e mostrar apenas aquele cartão específico.

Para conhecer mais sobre este projeto, clique aqui.

Além desse, tivemos um projeto final, que foi a criação de um portfólio, onde falaríamos mais a fundo sobre nossas habilidades.

Neste projeto, recebemos um Figma, e tínhamos que usar isso como base para criar a nossa página, e no final, tínhamos que fazer deploy do projeto na Vercel.

Apesar de já ter este portfólio, participei deste desafio para por em prática o que foi visto no curso.

No meu caso, tentei seguir o mais fielmente possível o design apresentado no Figma, pois acredito que essa seria a função de um desenvolvedor Front-End.

Para saber mais sobre este projeto, clique aqui.

Encerramento do curso e agradecimentos finais

No dia 15/12/2023, essa edição do Empower Code PcD chegou ao fim, e tivemos um evento de encerramento que contou com a participação do pessoal da Alura e da Zenvia.

Ao longo do curso, nós alunos também fomos informados que três de nós receberíamos mais 9 meses de acesso a Alura após o fim do curso, e devido ao meu esforço, eu fui um dos selecionados a receber este prêmio, o que me deixou muito feliz.

No fim das contas, eu não posso agradecer o suficiente, tanto ao pessoal da Zenvia, quanto o pessoal da Alura por essa incrível oportunidade. As pessoas que conheci durante esse curso eram fantásticas, e sempre recebemos todo apoio necessário. O conteúdo que tivemos também foi ótimo, assim como as mentorias e os projetos.

Por essas razões, gostaria de agradecer novamente ao pessoal da Zenvia e da Alura por terem me dado essa oportunidade, a qual procurei aproveitar ao máximo.

Formação Vem Ser Tech | Back End. Ada Tech e iFood

Durante minhas tentativas de conseguir uma primeira oportunidade no mercado de trabalho, fui indicado a participar de um processo seletivo da Ada Tech. Depois de ver um pouco mais sobre esse processo seletivo, decidi participar.

Infelizmente, devido ao fato de eu não atender certos pré-requisitos, acabei não sendo aprovado naquele processo. Mesmo assim, eu me interessei bastante pela Ada Tech, e comecei a ficar de olho em novos processos seletivos que surgiam, até que eu encontrasse algo que se adequasse a minha situação.

Depois de algum tempo, me deparei com a formação Vem Ser Tech, feita em parceria com o iFood. Achei bem interessante, não apenas porque era algo que se encaixava com a minha situação, mas também porque eles ofereciam quatro trilhas diferentes, sendo elas: Front-End, Back-End DevOps, e dados.

Todas as trilhas pareciam bem interessantes, mas, como minha paixão sempre foi o Back-End, decidi optar por essa trilha. Após escolher a trilha que eu queria participar, tivemos um curso online ainda no mês de Julho, onde tive uma pequena ideia do que esperava por mim nessa formação.

Depois disso no mês de Agosto, tive que fazer o teste de aptidão Tech, com algumas questões de matemática e raciocínio lógico.

Após passar por essa etapa, no começo do mês de Setembro, ocorreu a dinâmica de grupo, onde eu, e mais alguns colegas, fomos apresentados a uma situação-problema (conhecida como CASE), e tivemos que pensar em soluções para resolver.

Após ser aprovado nessa etapa, finalmente cheguei a última etapa do processo seletivo, que foi o Coding Tank. Um curso introdutório de lógica de programação e Javascript com aulas ao vivo, e após o fim desse curso, tivemos uma prova final.

Na primeira metade do curso, aprendemos conceitos básicos de lógica de programação, programação orientada a objetos em Javascript e Typescript, e banco de dados relacional MySQL.

Também já desenvolvemos alguns projetos práticos, como uma lista de tarefas (To-Do List), um sistema de gerenciamento de uma biblioteca, e um sistema de locadora de veículos.

Depois disso, entramos de férias por um tempo, e retornamos no dia 08/01/2024 para a segunda metade do curso, onde aprendemos sobre Express, e também sobre testes automatizados usando Jest para testes unitários, Supertest para testes de integração, e Cypress para testes e2e (end to end).

Além disso, desenvolvemos também alguns projetos práticos, um deles foi converter o sistema de locadora de veículos desenvolvido anteriormente para uma API, e o outro projeto foi desenvolver testes automatizados para um sistema desenvolvido pelo professor.

Todos estes projetos foram muito legais de se fazer, e pude explorar bastante os conteúdos vistos durante o curso.

Para quem quiser conferir alguns destes projetos, segue abaixo os links deles no Github.

Algo que eu tenho certeza é que essa formação está foi muito interessante pra mim, pois pude ver que a Ada Tech é uma excelente escola, e é muito provável que eu me candidate para outros cursos da Ada Tech no futuro.

Portanto, deixo aqui o meu muito obrigado ao pessoal da Ada Tech e do iFood por terem me dado esta oportunidade, a qual fiz questão de aproveitar ao máximo.

Após o fim do curso, tivemos ainda mais um evento, o Ada Hack, um Hackathon que foi dividido entre as quatro trilhas, e cada grupo teve que desenvolver a solução para um problema baseado em sua respectiva trilha, e tenho muito orgulho de dizer que minha equipe foi campeã da trilha de Back End.

Caso queira saber mais sobre o Ada Hack, clique aqui.

Sistema de orçamentos de reserva

Minha família tem uma pequena pousada na Praia da Pinheira, e em Julho de 2023, meu pai, que administra os negócios, me pediu pra desenvolver um sistema que facilitasse na confecção de orçamentos para facilitar o seu trabalho, pois, até o momento, ele utilizava planilhas do Excel para fazer e enviar orçamentos para os clientes.

Com base na sua necessidade, desenvolvi um sistema para gerenciar os orçamentos. O controle vai desde a confecção do orçamento, a geração do contrato dos orçamentos aprovados, o controle dos pagamentos e despesas extras de cada reserva, e também o controle dos checkins, checkouts, e cronogramas de limpezas das acomodações.

Alguns requisitos do sistema

Além da nossa pousada, meu pai também administra a locação de outros dois imóveis de parceiros, portanto, um dos requisitos seria separar as acomodações em cada empreendimento que ela pertence, ou seja, o empreendimento da nossa pousada (Residencial Sol de Verão), outro empreendimento de que ele tem junto como parceiro (Moradas Pé na Areia), e o outro empreendimento que ele administra as reservas, que pertence a um amigo (Casas/Aptos do Léo). E também, ter a opção, caso, futuramente ele tenha novos empreendimentos. Portanto, primeiramente, pensei em fazer uma tabela de empreendimentos, onde, inicialmente tem esses três empreendimentos cadastrados, mas, fica aberta a possibilidade de cadastrar novos empreendimentos.

Abaixo, a lista das tabelas que utilizei para construção do sistema.

Cadastro das acomodações

Um cadastro básico das acomodações, informando a qual empreendimento elas pertencem, nome da acomodação, tipo de acomodação, número de quartos, valor base, limite ideal de ocupantes, limite adicional de ocupantes, se aceita pet, e uma descrição livre da acomodação.

Tela de cadastro de acomodações

Orçamentos de reserva

Esta é a principal entrada de dados do sistema, pois é através do orçamento, que futuramente, será gerado o contrato, caso o cliente aprove o orçamento.

O orçamento é feito em duas etapas, primeiramente, é informado o cliente, a acomodação, o número de ocupantes, uma observação opcional sobre os ocupantes, se será diária cheia, ou apenas pernoite, a data de entrada, o horário previsto para o checkin, a data de saída, o horário previsto para o checkout, e o período.

Na segunda etapa, é informado o valor da diária, o valor da taxa de limpeza, valor de descontos, valor de acréscimos, valor do pacote, e número de dias do pacote, então, é clicado em “Calcular” e o sistema faz o cálculo do orçamento.

Após isso, basta inserir as observações, e gerar o orçamento.

Tela onde o usuário vai selecionar o cliente para fazer um orçamento
Tela onde o usuário irá colocar as informações sobre a acomodação e as datas do orçamento
Tela onde ocorre o cálculo do orçamento, e é inserida as observações

PDF do orçamento

Após gerar o orçamento, já é possível gerar um PDF para envio ao cliente.

Para gerar esse PDF, utilizei a biblioteca do Reportlab.

Após enviado o PDF para o cliente,  basta aguardar a sua aprovação por parte do cliente (caso necessite alguma alteração, é possível também alterar o orçamento, mas será necessário informar o motivo da modificação. Neste caso, após a alteração, se houver, o orçamento ficará com uma flag indicando que ele foi modificado).

Tela onde o usuário vai gerar o PDF do orçamento, e enviar para o cliente
PDF do orçamento

Contrato simplificado

Após aprovado o orçamento pelo cliente, já é possível gerar um contrato, que basicamente, será gerado automaticamente usando os dados do orçamento que foi aprovado.

Para geração do contrato, será apenas solicitado que se inclua algumas observações e informações adicionais.

Tela onde o usuário vai gerar o contrato para posteriormente, enviar o PDF do contrato para o cliente
Tela onde o usuário deve informar basicamente a conta para o depósito, e algumas observações adicionais do contrato

PDF do contrato

Após gerar o contrato, já é possível gerar um PDF para envio ao cliente.

Após enviado o PDF para o cliente,  o orçamento mudará seu status para “contrato gerado”, e já será possível o lançamento de pagamentos e despesas extras.

Tela onde o usuário poderá selecionar o contrato que deseja gerar PDF para envio ao cliente
PDF do contrato

Lançamento de pagamentos e despesas extras

Após gerar o contrato,  já é possível lançar pagamentos e despesas extras para esse orçamento (normalmente, por padrão, já é pedido um pagamento para confirmação da reserva, mas tudo isso é combinado, e está descrito no contrato). Assim que o cliente faz o primeiro depósito para confirmar a reserva, o mesmo deve ser informado nessa seção, pois após lançar o primeiro pagamento, o orçamento recebe uma flag informando que o orçamento foi confirmado.

Além de informar a confirmação da reserva, também é possível informar todos os pagamentos recebidos, pois várias vezes, o pagamento é recebido em diversas parcelas, dependendo da negociação que é feita.

Em certos casos, existe a possibilidade de haver cobranças extras por algum serviço ou pessoa adicional que eventualmente não estava previsto no contrato, neste caso, utilizamos a função de informar acréscimo, pois essa função irá gerar um acréscimo para o orçamento, dando a possibilidade de incluir novos valores não previstos no momento do fechamento do contrato, de acordo com a necessidade.

Tela onde o usuário deve informar o pagamento de confirmação da reserva
Tela onde é informado o depósito de confirmação da reserva
Tela onde é possível, tanto selecionar a função de informar pagamentos, como também, informar despesas extras.
Tela onde será informado as despesas extras

Relatório financeiro da reserva

Nesta opção, é possível visualizar um PDF com todas as informações financeiras da reserva, tais como o valor da reserva acertado no contrato, os valores já pagos, os valores de extras lançados, e o saldo que ainda resta pagar.

Tela onde o usuário pode visualizar o relatório financeiro da reserva
PDF do relatório financeiro da reserva

Controle de checkins e checkouts

Nessa opção, criei três tipos de relatórios, são eles:

Relatório de checkins

Lista todas as reservas com entrada prevista em um intervalo de datas.

Esse relatório é útil para saber as acomodações que precisam ser preparadas e revisadas antes da entrada do hóspede.

Tela onde o usuário informa o intervalo de datas que deseja pesquisar
PDF da programação de checkins
Relatório de checkouts

Lista todas as reservas com saída prevista em um intervalo de datas.

Esse relatório é útil para saber as acomodações que estão desocupando e precisam ser limpas.

Tela onde o usuário informa o intervalo de datas que deseja pesquisar
PDF da programação de checkouts
Relatório de checkins/checkouts

Basicamente uma união dos dois relatórios acima, podendo ver as reservas com entrada e saída programadas para aquele intervalo de datas escolhido.

Tela onde o usuário informa o intervalo de datas que deseja pesquisar
PDF da programação de checkins e checkouts

Curso em Vídeo de Python mundo 3

Após encerrar o mundo 2 do Curso em Vídeo de Python continuei estudando com os cursos do professor Gustavo Guanabara, dessa vez comecei o mundo 3 do Curso em Vídeo de Python.

Assim como os dois primeiros, esse curso foi bastante interessante, pois dá uma boa base dos fundamentos do Python.

Os conceitos que aprendi nesse curso foram:

Assim como nos dois primeiros cursos, também tivemos vários exercícios na forma de desafio, para por em prática o que aprendemos ao longo do curso, que é algo que eu gosto muito, pois adoro programar.

Curso em Vídeo de Python mundo 2

Após concluir o Curso em Vídeo de Python mundo 1  Continuei meus estudos, e como gostei desse curso, resolvi continuar com os cursos do professor Gustavo Guanabara, foi então que resolvi começar o curso de Python mundo 2.

Assim como o primeiro, este era um curso introdutório, apenas apresentando os conceitos básicos da linguagem Python, alguns dos conceitos estudados neste curso foram:

Assim como o primeiro mundo, tivemos também vários exercícios para fixar o conteúdo aprendido, o que eu acho ótimo, e este curso também serviu para aprofundar meus conhecimentos básicos da linguagem Python.

Curso em Vídeo de Python mundo 1

Como sou autodidata, e estava com bastante tempo livre devido as aulas online, resolvi dedicar esse tempo para aprender algo novo.

Nesta época eu já havia feito um curso de Desenvolvimento Web na Udemy. portanto já possuía um certo conhecimento em algumas linguagens de programação como PHP e Javascript.

Porém, eu sempre ouvi muita gente falando na linguagem Python, e como eu estava com bastante tempo livre, resolvi aprender essa linguagem que até então era novidade pra mim.

Após pesquisar um pouco na internet, descobri um o canal Curso em Vídeo do professor Gustavo Guanabara, e nesse canal tinha alguns cursos de Python.

Foi então que decidi começar a fazer o curso de Python conhecido como mundo 1, e alguns dos assuntos que aprendi com esse curso foram:

Além dos conteúdos apresentados acima, tivemos vários exercícios para fixar esses conteúdos, o que eu acho ótimo, pois para fixar os conteúdos que aprendemos, acho que devemos praticar, sem contar que eu adoro programar.

Este curso era bastante básico, mas mesmo assim foi uma ótima experiência, pois sabemos que para fazer grandes projetos, primeiro é necessário aprender a base, além disso, a base que adquiri neste e nos outros dois cursos do Gustavo Guanabara, me ajudaram a me destacar durante o Jovem Programador, no qual também aprendemos Python.