Curso online gratuitoHTML, CSS, JavaScript e Firebase: Seja um FullStack developer
Duração do curso online: 3 horas e 51 minutos
Novo
Curso gratuito de HTML, CSS, JavaScript e Firebase para criar uma aplicação full stack com autenticação, Firestore e integração prática.
Neste curso gratuito, aprenda sobre
Fundamentos e introdução do projeto
Tela de Login com HTML, CSS e JavaScript
Autenticação com Firebase (login, loading e recuperação de senha)
Cadastro de usuário e gerenciamento de sessão
Tela Home e renderização de transações
Firestore como banco de dados (consultas, queries e índices)
Tela de transações e CRUD no Firestore
Arquitetura de serviços e integração com backend via API REST
Descrição do curso
Aprenda a construir uma aplicação web completa do zero, unindo HTML, CSS e JavaScript com autenticação e banco de dados na nuvem usando Firebase. Este curso online gratuito é ideal para quem quer sair do básico e entender, na prática, como estruturar telas, criar fluxos de navegação e transformar páginas estáticas em uma experiência interativa com validações e mensagens claras para o usuário.
Você vai evoluir desde a criação de telas como login, registro e home até a implementação de autenticação com Firebase, incluindo recursos como recuperação de senha, manutenção de sessão e proteção de rotas para impedir acessos não autorizados. Tudo com foco em boas práticas de organização do código e refatoração para deixar o projeto mais limpo e sustentável.
Na etapa de dados, você verá como usar o Firestore como backend, realizar consultas, criar índices e manipular documentos com operações de criação, atualização e remoção. Ao final, o projeto ganha estrutura de camada de serviço para acessar o backend, aproximando o desenvolvimento de um cenário real de produto, além de uma visão sobre integração via API REST conectando frontend e backend.
Conteúdo do curso
Aula em vídeo: HTML, CSS e Javascript - Criando uma aplicac?a?o completa de controle de gastos - #0109m
Exercício: Qual combinação de tecnologias é usada na primeira versão da aplicação de controle de gastos?
Aula em vídeo: Pa?gina básica de Login só com HTML - #0209m
Exercício: Ao criar um botão dentro de um formulário e definir type="submit", qual é o comportamento padrão ao clicar nele?
Aula em vídeo: Pa?gina básica de Login com CSS - #0315m
Exercício: Qual é a forma correta de separar o CSS do HTML e manter os estilos funcionando na página?
Aula em vídeo: Validac?a?o da pa?gina de Login com Javascript - #0411m
Exercício: Qual lógica define quando os botões Recuperar senha e Entrar devem ficar habilitados na tela de login?
Aula em vídeo: Mensagens de erro no formula?rio de Login com Javascript - #0509m
Exercício: Qual alteração no CSS faz com que as mensagens de erro fiquem invisíveis ao carregar a página e só apareçam quando necessário?
Aula em vídeo: Refatorando a pa?gina de Login com Javascript - #0608m
Exercício: Qual foi a principal melhoria feita ao criar um objeto para acessar os campos do formulário (ex.: email e senha) em vez de chamar document.getElementById repetidamente?
Aula em vídeo: Navegac?a?o de telas com Javascript - #0707m
Exercício: Qual alteração em JavaScript permite redirecionar o usuário da tela de login para a tela Home ao clicar no botão?
Aula em vídeo: Introduc?a?o ao firebase authentication - #0104m
Exercício: Qual é o principal papel do Firebase Authentication na aplicação de controle de gastos?
Aula em vídeo: Firebase Authentication com HTML, CSS e Javascript - #0806m
Exercício: Ao usar Firebase Authentication com e-mail e senha no JavaScript, qual é a característica principal do retorno de signInWithEmailAndPassword?
Aula em vídeo: Fazendo LOGIN com HTML, CSS, Javascript e Firebase Auth - #0904m
Exercício: Ao realizar login com Firebase Authentication em JavaScript, qual é a forma correta de tratar sucesso e erro para redirecionar para a Home ou exibir uma mensagem?
Aula em vídeo: Criando componente de Carregando (Loading) - #1011m
Exercício: Qual abordagem permite criar e reutilizar um componente de loading que bloqueia a tela durante o login?
Aula em vídeo: Recuperação de senha com Firebase Authentication - #1103m
Exercício: Ao implementar a recuperação de senha com Firebase Authentication, qual é o método usado para enviar o e-mail de redefinição?
Aula em vídeo: Criando a tela de Registro com HTML e CSS - #1205m
Exercício: Por que mover a classe CSS form-field de index.css para global.css ajuda no projeto?
Aula em vídeo: Validac?a?o do formulário de Registro com Javascript - #1311m
Exercício: Em uma tela de cadastro com validações em JavaScript, quando o botão Registrar deve ser habilitado?
Aula em vídeo: Registro de novo usua?rio com javascript - #1405m
Exercício: Ao implementar o cadastro de usuário com Firebase Authentication, qual fluxo correto deve acontecer ao clicar no botão de registro?
Aula em vídeo: Mantendo a sessão do usua?rio logado com Firebase Auth - #1504m
Exercício: Qual recurso do Firebase Authentication permite detectar mudanças no estado de login e redirecionar automaticamente o usuário para a página Home?
Aula em vídeo: Logout do usua?rio com firebase authentication - #1605m
Exercício: Ao implementar o logout com Firebase Authentication, qual é a ação correta após o sucesso do signOut para retornar o usuário à tela de login?
Aula em vídeo: Impedindo usua?rios não logados de acessarem pa?ginas - #1703m
Exercício: Qual é o objetivo do auth guard na aplicação com Firebase Authentication?
Aula em vídeo: Criando a tela de home com HTML e CSS - #1808m
Exercício: Qual combinação de tags HTML é usada para criar uma lista ordenada de movimentações financeiras?
Aula em vídeo: Criando uma lista HTML com JAVASCRIPT - #1909m
Exercício: Qual foi o principal objetivo ao substituir as transações fixas no HTML por uma renderização via JavaScript?
Aula em vídeo: Introduc?ao ao banco de dados Firestore - #206m
Exercício: No Firestore, qual é a principal diferença em relação a um banco de dados relacional?
Aula em vídeo: FIRESTORE como BACKEND e consulta de dados com JAVASCRIPT - #2004m
Exercício: Ao consultar a coleção transactions no Firestore, qual atributo do snapshot contém o array de documentos retornados?
Aula em vídeo: Criando Queries e i?ndices com o banco de dados Firestore - #2105m
Exercício: Ao filtrar transações do usuário logado e ordenar por data no Firestore, qual é o motivo do erro que pode aparecer e como resolver?
Aula em vídeo: Criando a tela de transações com HTML e CSS - #2209m
Aula em vídeo: Validac?ao com javascript do formula?rio de criar transac?ao - #2309m
Exercício: Qual condição deve ser verdadeira para o botão Salvar ser habilitado no formulário de transação?
Aula em vídeo: Salvar transac?ao no banco de dados firestore com javascript - #2406m
Exercício: Ao salvar uma transação no Firestore, qual prática garante que o valor monetário seja armazenado como número (permitindo decimais) em vez de string?
Aula em vídeo: Atualizando um documento do firestore com javascript - #2509m
Exercício: Como identificar se o usuário está criando uma nova transação ou atualizando uma existente ao abrir a tela de transação?
Aula em vídeo: Removendo documento do firestore com javascript - #2606m
Exercício: Ao clicar no botão Remover, o clique estava levando para a tela da transação. Qual é a correção adequada para evitar que o evento suba para os elementos pais?
Aula em vídeo: Criando a camada de servic?o para acessar o backend - #2707m
Exercício: Qual foi o principal objetivo ao criar uma camada de serviço (transactionService) para acessar o Firestore?
Aula em vídeo: API Rest - Conectando frontend e backend - #2810m
Exercício: Qual foi a principal mudança feita para o frontend deixar de acessar diretamente o Firestore e passar a consumir o backend?