A Next Level Week (ou NLW) é um evento gratuito promovido pela Rocketseat com o intuito de levar os programadores para um próximo nível, independentemente da sua experiência individual com tecnologia. O evento é dividido em duas trilhas: a trilha Discovery, dedicada a iniciantes, e a trilha Omnistack, dedicada a desenvolvedores(as) web mais experientes. Apesar das diferenças de experiências e conhecimento entre os participantes das duas trilhas, o projeto construído ao longo da jornada é o mesmo, em termos de conceito, mudando as tecnologias utilizadas.
Nesta segunda edição, o projeto construído é o Proffy, uma plataforma online de educação onde professores e alunos podem se cadastrar para lecionar ou aprender a qualquer momento.
A trilha para os devs iniciantes conta com as aulas do programador Mayk Brito, principal criador de conteúdo para iniciantes dentro da Rocketseat.
Os conceitos são passados de maneira que seja simples para que até mesmo quem nunca criou nada para a web consiga entender e iniciar um projeto dentro do período de uma semana. Para isso, as tecnologias utilizadas no front-end são a stack padrão para qualquer iniciante: HTML5, CSS3 e JavaScript.
A trilha para aqueles que já dominam as tecnologias básicas e querem avançar para o uso de novas bibliotecas e até mesmo para o desenvolvimento mobile é guiada pelo CTO da Rocketseat, Diego Fernandes.
As aulas são mais dinâmicas, passando mais rápido por alguns conceitos que já é pressuposto que os participantes dominam, mas sem deixar de explicar os conceitos mais relevantes. As tecnologias de front-end que se diferem das anteriores são o React e React Native.
Ao me inscrever no evento, optei pela trilha Discovery, visto que já tenho uma noção básica das três tecnologias utilizadas no front-end, mas ainda não sentia que era capaz de criar um projeto do zero e nem ao menos tenho conhecimento de como trabalhar com back-end e banco de dados.
Apesar de já conhecer as tecnologias utilizadas, ainda tenho uma grande dificuldade em criar a parte visual das aplicações. O CSS definitivamente é a tecnologia com as qual mais tenho problemas, mas isso aos poucos está sendo mudado, principalmente graças a funcionalidades mais modernas da linguagem, como o grid e as medias queries, que venho estudando há alguns dias, e hoje pude pôr em prática em um projeto real.
O projeto foi hospedado de maneira estática (sem conexão com servidor ou banco de dados) no Netlify. Para que o resultado possa ser visto, basta clicar aqui.
Me adiantei um pouco e fiz o layout da tela inicial utilizando o grid e adicionei mais breakpoints para responsividade.
Alterei algumas coisas no layout anterior seguindo os passos que o Mayk Brito fez durante a aula, o que deixou o visual bem mais próximo do esperado.
Fiz o que foi realizado em aula e adicionalmente criei um botão para que o usuário possa remover um campo de horário criado previamente por ele, visto que seu preenchimento é obrigatório e caso um campo a mais fosse adicionado sem querer, o usuário precisaria recarregar a página e preencher tudo novamente, agora basta remover o campo indesejado.
Iniciamos a parte do back-end com o uso do Node em conjunto com Express e Nunjucks. Consegui ter uma boa noção do processo, embora ainda não esteja familiarizado com as ferramentas.
Além disso, fizemos um pequena alteração nas pastas, visando uma melhor organização.
O projeto foi finalizado com a adição e implementação do banco de dados e a lógica de redirecionamento e filtros para que o usuário possa encontrar os proffys quando realizar uma busca.
Sem dúvidas esse foi o dia mais difícil e cansativo, pois na maior parte do tempo foram trabalhados conceitos com os quais não estava familiarizado, como toda a parte do banco de dados, metódos HTTP e outras implementações que uniam essas duas áreas. Mas no fim a aplicação está aí e pretendo concluir os desafios propostos.