Projeto Java — Parte 1
Apresentação
Cara o que você está fazendo aqui!? Se você não é da área de TI, corre Bino, é cilada! Agora se você já trabalha com TI eu que não vou me preocupar.
Nesta série de artigos iremos apresentar o desenvolvimento de um projeto de software real, usando linguagens, ferramentas, frameworks e processos que usamos na S2IT.
O objetivo nesse blog é fazer aquilo que já fazemos no dia a dia, compartilhar informação e conhecimentos com outras pessoas, aprender e aprimorar novas tecnologias, além de apresentar como funciona o processo e o fluxo de trabalho dentro de uma empresa de TI.
Quem é esse maluco que escreve? Na realidade somos dois malucos desenvolvedores JAVA (e “ocasionalmente” bebedores de cerveja). Atualmente trabalhamos na S2IT em equipe dedicada.
- Diógenes Silviera, programador FullStack, Minas Gerais.
- Oriol Canalias, programador backend, Catalunha.
Caramba, um mineiro e um espanhol catalão? Nada de bom vai sair disso… ainda pode fugir (ALT+F4)
Se você é desenvolvedor experiente, parabéns, está tão fudido quanto a gente, mas pode achar coisas interessantes no blog (e pode nos mandar o currículo!)
Se você ainda é iniciante (e está ciente do mundo onde está entrando), acompanhe aqui novinho.
Para interligar a série toda, iremos atacar um problema real (ninguém merece fazer app de locadora de filmes!). Então resolvemos desenvolver uma aplicação para melhorar o controle sobre o processo de contratação, assim conseguimos juntar o útil ao agradável.
Analisamos o tamanho do monstro e decidimos inicialmente criar um MVP (Minimum Viable Product). Para quem não sabe, é o mínimo que seu produto precisa para ser lançado e poder validar o projeto antes de investir tempo e dinheiro a toa. Isso é muito usado em startups e aceleradoras.
Nosso backlog está formado pelos seguintes itens:
- Cadastro de usuários
- Cadastro de candidatos
- Cadastro de tópicos e skills
- Cadastro e pesquisa de entrevistas
- Avaliação de candidatos
Se você for um hipster que só usa linguagens com menos de 3 meses de vida, talvez você não irá gostar dessa série. Para o projeto usaremos algumas ferramentas mais novas e outras não tanto. E como tudo na vida, não descartamos ir acrescentando e tirando coisas assim que o projeto for evoluindo. Inicialmente pensamos em:
- Linguagem base: Java, com Spring Framework
- Frontend: Thymeleaf
- Banco: Inicialmente MySQL. Gostaríamos de usar também algum NoSQL, mas ainda estamos analisando.
- Versionamento: Git. Se ainda está usando SVN, reflita sobre sua vida. Vamos criar uma branch por post, para melhorar o acompanhamento do projeto.
- Integração contínua: Jenkins.
- Gerenciador de dependências, tarefas e relacionamentos amorosos: Gradle.
- Orquestrador de serviços: Docker, porque ninguém merece ficar instalando software.
- Processo: Usaremos agile, mais nos conceitos que na prática.
Se você entrou hoje no blog e está esperando um novo post a cada dia, não adianta ficar aí no F5. Temos o plano de apresentar duas postagens por mês, apesar que os estádios da copa iam custar “só” 2.8 bi e terminaram sendo 8 bi.
Por enquanto é isso. Siga o blog e não esqueça de comentar, criticar, xingar, etc (e se tivermos muita sorte, elogiar!)