Skip to content

Instantly share code, notes, and snippets.

@fwfurtado
Last active November 6, 2020 02:24
Show Gist options
  • Save fwfurtado/f6f66a9d27c89499c04d021385f3b2c2 to your computer and use it in GitHub Desktop.
Save fwfurtado/f6f66a9d27c89499c04d021385f3b2c2 to your computer and use it in GitHub Desktop.
Ementas

Caelum Airlines

Projeto de compras de passagens aereas Caelum Airlines.

O projeto é composto de uma API Rest desenvolvida em Java com Spring Boot que será consumido por um cliente desenvolvido em NodeJS com Next.JS

O projeto tem como objetivo simular o dia a dia em um projeto real.

Para gerenciar as "demandas" usaremos um trello como nosso kanban, e algumas das funcionalidade iniciais já estarão implementadas.

Ementa

1. Intro sobre mudanças em projetos de forma segura 
2. Controle de versão com **Git** e utilização de repositório central com **Github**
3. Gestão de dependências e Build LifeCycle com **Maven** e **NPM**
4. Garantindo que o projeto continue funcionando com **Testes** 
  4.1 Teste Unitário com **JUnit** e **Jest** 
  4.2 Teste de Integração **Spring Boot Test** e **Enzyme**   
  4.3 Teste de aceitação **Spring Boot Test** e **Cypress**
  4.4 Pirâmide de Teste 
  4.5 TDD
  4.6 BDD
  4.7 Teste de contratos com **Spring Cloud Contract** e **Jest** 
  4.8 Cobertura de teste com **Jacoco** e **Jest** 
5. Automação de build
  5.1 Makefile
  5.2 Docker
    5.2.1 Utilizando o Docker para dependências 
      5.2.1.2 Imagem
      5.2.1.3 Container
      5.2.1.4 Volume
      5.2.1.5 Network
    5.2.2 Dockerfile
    5.2.3 Docker Compose
6. Deployando a aplicação
  6.1 Heroku
  6.2 Usando Docker para deployar a aplicação
  6.3 Garantindo que o código não quebre através de Pipelines 
  6.4 CI **Travis CI** 
  6.5 CD **Travis CI** e **Heroku Deploy**

Features

1. Cadastro de localização dos aeroportos (podemos deixar pronto mas é uma boa feature para que os alunos se familiarizem com o projeto)
2. Cadastro de Voos (Complexa por questões de conflitos com outros voos)
3. Cadastro de passagens (Complexa pois tem que controlar quantos já foram vendidas e quantos faltam)
4. Busca de passagens (Busca por data e/ou por localização e/ou aeroportos)
5. Compra da passagem (Processo padrão de checkout) 
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment