10.1-mostrando-mensagens-do-cadastro-de-cerveja
10.2-validacao-customizada-com-bean-validation
10.3-convertendo-valores-numericos
10.4-desafio-validando-campos-da-cerveja
10.5-formatando-input-com-erro
10.6-desafio-implementar-o-cadastro-de-estilo
11.1-validando-se-existe-estilo-persistido
11.2-salvando-o-estilo-com-ajax-dialogo-de-cadastro-rapido
11.3-mapeando-controller-e-mais-sobre-responseentity
11.4-tratando-excecoes-com-exceptionhandler
11.5-callbacks-jpa-salvando-sku-com-caixa-alta
12.2-modularizando-o-codigo-da-mascara-de-dinheiro
12.3-modularizando-o-cadastro-rapido-de-estilo
13.2-novo-atributo-para-classe-de-erro
13.3-novo-elemento-para-mensagens
13.4-desafio-removendo-duplicacao-da-tag-html
14.10-mantendo-a-foto-na-validacao
14.2-componente-de-upload-da-foto-com-drag-and-drop/brewer
14.3-upload-da-foto-com-ajax
14.4-melhorando-a-disponibilidade-da-aplicacao-retorno-assincrono
14.5-salvando-o-nome-da-foto-da-cerveja
14.6-criando-pastas-para-salvar-fotos
14.7-salvando-a-imagem-temporaria
14.8-mostrando-a-foto-na-tela
14.9-refatorando-script-do-upload-da-foto
15.1-detalhe-campos-obrigatorios
15.10-implementando-os-botoes-previous-e-next
15.11-mantendo-o-filtro-nas-paginas
15.12-prototipando-a-ordenacao
15.13-parametros-da-ordenacao
15.14-ordenando-a-pesquisa-por-sku-ou-nome
15.15-componente-thymeleaf-para-ordenacao
15.16-desafio-pesquisa-de-estilos
15.17-desafio-componente-para-paginacao
15.18-bean-util-para-paginacao
15.19-corrigindo-bug-na-pesquisa
15.2-prototipando-a-pesquisa-da-cerveja
15.3-redimensionando-a-imagem-salvando-o-thumbnail
15.4-filtrando-e-resolvendo-o-problema-do-n-mais-1
15.6-prototipando-a-paginacao
15.7-paginacao-na-pesquisa-de-cervejas
15.8-mostrando-total-de-paginas-dinamicamente
15.9-destacando-a-pagina-selecionada
16.1-configurando-mascara-de-telefone-com-jquery
16.10-salvando-cpf-cnpj-sem-formatacao
16.11-validando-cliente-ja-cadastrado
16.12-desafio-comecando-a-pesquisa-de-clientes
16.13-finalizando-pesquisa-de-clientes
16.14-desafio-finalizar-cadastro-de-cidade
16.15-desafio-implementando-pesquisa-de-cidades
16.2-atualizacao-do-thymeleaf-layout-dialect
16.3-configurando-mascara-de-cpf-cnpj-com-jquery
16.4-implementando-radio-tipo-pessoa
16.5-desafio-configurando-mascara-do-cep-com-jquery
16.6-aplicando-migracao-estado-e-cidade
16.7-selecionando-cidades-pelo-estado-com-ajax
16.8-aplicando-migracao-de-cliente
16.9-agrupando-validacoes-para-cpf-cnpj
17.1-cacheando-a-busca-de-cidades-por-estado
17.2-invalidando-o-cache-no-cadastro-da-cidade
17.3-cache-profissional-com-guava-do-google
18.2-criando-a-migracao-do-usuario-grupo-permissao
18.3-desafio-comecando-o-cadastro-do-usuario
18.4-validador-customizado-para-confirmacao-da-senha
18.5-input-e-componente-para-data
18.6-desafio-salvando-o-usuario-no-banco-de-dados
18.7-salvando-o-status-do-usuario
18.8-salvando-o-usuario-com-grupos
18.9-salvando-a-senha-criptografada-com-bcrypt
19.10-problema-de-acentuacao-voltou
19.13-exibindo-o-usuario-logado
19.14-escondendo-componentes-de-usuarios-sem-permissao
19.2-configurando-o-spring-security-no-projeto
19.3-tela-de-login-customizada
19.4-autenticando-usuario-e-senha-no-banco-de-dados
19.5-restringindo-o-acesso-as-paginas
19.6-carregando-as-permissoes-do-usuario
19.7-adicionando-tela-de-acesso-negado
20.2-criando-pagina-404-nao-encontrado
20.3-desafio-criando-pagina-500-erro-no-servidor
21.1-implementando-menu-lateral
21.2-desafio-prototipo-da-pesquisa-de-usuarios
21.3-trabalhando-no-filtro-por-grupo
21.4-multiselecao-de-linhas-ativando-desativando-usuarios
21.5-melhorando-a-usabilidade-da-pagina-de-pesquisa-de-usuarios
21.6-paginacao-da-pesquisa-de-usuarios
22.1-protoipando-cadastro-nova-venda
22.2-prototipando-pesquisa-rapida-clientes
22.3-implementando-pesquisa-rapida-de-clientes
22.4-selecionando-cliente-na-pesquisa-rapida
22.6-pesquisando-cervejas-por-sku-ou-nome
22.7-renderizando-cervejas-no-autocomplete
22.8-prototipando-itens-da-venda
23.10-removendo-itens-da-venda
23.11-simulando-um-escopo-de-view
23.12-atualizando-valor-total
23.13-desafio-box-do-valor-total-negativo
23.14-desafio-criando-mapeamento-para-tabelas-de-venda
23.15-salvando-a-venda-no-banco-de-dados
23.16-criando-validador-customizado-do-spring
23.18-desafio-implementando-a-pesquisa-das-vendas
23.19-ajustando-menu-lateral
23.3-criando-tabela-de-itens-de-venda
23.4-testando-a-tabela-de-itens-de-venda
23.5-mantendo-os-itens-da-venda-no-servidor
23.6-renderizando-html-retornado-do-ajax
23.7-adicionando-mesmos-itens-na-venda
23.8-implementando-atualizacao-da-quantidade-de-itens
23.9-prototipando-remocao-de-itens-da-venda
24.2-configuracao-do-servidor-de-email-com-arquivos-externos
24.3-configuracao-de-chamadas-assincronas
24.4-enviando-emails-simples
24.5-criando-template-para-email
24.6-enviando-o-email-em-html-com-imagens
24.7-formatando-valores-numericos-no-email
25.1-implementando-a-exclusao-de-cerveja
25.2-implementando-a-edicao-da-cerveja
25.3-implementando-a-edicao-de-usuario
25.4-implementando-a-edicao-da-venda
25.5-implementando-cancelamento-da-venda
26.1-prototipando-o-dashboard
26.2-box-de-vendas-no-ano-mes-e-ticket-medio
26.3-conhecendo-o-chartjs
26.4-grafico-vendas-por-mes
26.5-consultas-em-arquivos-externos
26.6-box-total-clientes-valor-total-e-itens-estoque
26.7-evento-para-controle-de-estoque
26.8-desafio-grafico-vendas-por-origem
27.2-configurando-a-internacionalizacao-e-o-thymeleaf
27.3-internacionalizando-as-mensagens-de-validacao
28.1-novo-plugin-para-formatacao-numerica
28.2-novas-versoes-thymeleaf-e-layout
28.3-deploy-em-um-tomcat-externo
28.4-criando-conta-na-aws-e-bucket-no-s3
28.5-buscando-imagens-a-partir-da-url
28.6-upload-das-fotos-para-o-s3-da-amazon
28.7-escolhendo-um-fornecedor-na-nuvem
28.8-fazendo-deploy-na-nuvem
29.2-criando-relatorio-de-vendas-emitidas
29.4-melhorando-a-formatacao-do-relatorio
3.10-resolvendo-problemas-de-acentuacao
3.3-configurando-o-spring
3.4-configurando-viewresolver-com-thymeleaf-v1
3.6-comecando-o-cadastro-de-cerveja
3.7-introducao-a-validacao-do-formulario
3.9-desafio-validando-a-descricao
30.5-migracao-da-app-brewer
4.3-mantendo-os-dados-no-formulario
5.10-desafio-prototipando-o-cadastro-de-cliente
5.11-desafio-prototipando-o-cadastro-de-usuario
5.12-bootstrap-switch-no-status-do-usuario
5.13-desafio-prototipando-o-cadastro-de-cidade
5.14-desafio-prototipando-o-cadastro-de-estilo
5.15-adicionando-o-favicon
5.3-baixando-e-configurando-o-layout-no-projeto
5.4-prototipando-o-cadastro-da-cerveja
5.5-melhorando-a-organizacao-do-layout
5.6-links-com-url-expression
5.7-configurando-mascara-de-dinheiro-com-jquery
5.8-organizando-o-layout-com-fragmentos
5.9-prototipando-o-cadastro-rapido-de-estilo
6.2-configurando-o-slf4j-com-log4j2
6.3-configurando-niveis-de-log-com-log4j2
7.2-o-application-context
8.3-mapeamento-da-entidade-cerveja
8.4-migrando-o-banco-de-dados-com-flyway
9.2-configurando-o-projeto
9.5-montando-os-combos-e-radio-do-cadastro-de-cerveja
9.7-fazendo-o-bind-do-estilo-com-a-cerveja
9.8-iniciando-a-transacao-para-salvar-a-cerveja
Folders and files Name Name Last commit message
Last commit date
parent directory
View all files
You can’t perform that action at this time.